ok
Direktori : /proc/thread-self/root/proc/self/root/proc/self/root/opt/alt/ruby24/share/doc/alt-ruby24/ |
Current File : //proc/thread-self/root/proc/self/root/proc/self/root/opt/alt/ruby24/share/doc/alt-ruby24/ChangeLog |
------------------------------------------------------------------------ r67879 | usa | 2020-03-31 20:42:18 +0900 (Tue, 31 Mar 2020) | 1 line add tag v2_4_10 ------------------------------------------------------------------------ r67874 | usa | 2020-03-31 19:54:03 +0900 (Tue, 31 Mar 2020) | 1 line Bump version to 2.4.10 ------------------------------------------------------------------------ r67873 | usa | 2020-03-31 19:51:26 +0900 (Tue, 31 Mar 2020) | 6 lines merge revision(s) 36e9ed7fef6eb2d14becf6c52452e4ab16e4bf01: [Backport #16698] backport 80b5a0ff2a7709367178f29d4ebe1c54122b1c27 partially as a securify fix for CVE-2020-10663. The patch was provided by Jeremy Evans. git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_6@67856 b2dd03c8-39d4-4d8f-98ff-823fe69b080e ------------------------------------------------------------------------ r67823 | usa | 2019-10-02 14:01:50 +0900 (Wed, 02 Oct 2019) | 2 lines Bump to 2.4.9 for repackaging ------------------------------------------------------------------------ r67820 | usa | 2019-10-01 20:06:17 +0900 (Tue, 01 Oct 2019) | 6 lines lib/shell/command-processor.rb (Shell#[]): prevent unknown command `FileTest.send(command, ...)` allows to call not only FileTest-related methods but also any method that belongs to Kernel, Object, etc. patched by <mame@ruby-lang.org> ------------------------------------------------------------------------ r67819 | usa | 2019-10-01 20:05:56 +0900 (Tue, 01 Oct 2019) | 10 lines merge revision(s) 3ce238b5f9795581eb84114dcfbdf4aa086bfecc WEBrick: prevent response splitting and header injection This is a follow up to d9d4a28. The commit prevented CRLR, but did not address an isolated CR or an isolated LF. Co-Authored-By: NARUSE, Yui <naruse@airemix.jp> ------------------------------------------------------------------------ r67818 | usa | 2019-10-01 20:05:22 +0900 (Tue, 01 Oct 2019) | 7 lines merge revision(s) 36e057e26ef2104bc2349799d6c52d22bb1c7d03 Loop with String#scan without creating substrings Create the substrings necessary parts only, instead of cutting the rest of the buffer. Also removed a useless, probable typo, regexp. ------------------------------------------------------------------------ r67817 | usa | 2019-10-01 20:04:48 +0900 (Tue, 01 Oct 2019) | 7 lines merge revision(s) a0a2640b398cffd351f87d3f6243103add66575b Fix for wrong fnmatch patttern * dir.c (file_s_fnmatch): ensure that pattern does not contain a NUL character. https://hackerone.com/reports/449617 ------------------------------------------------------------------------ r67794 | usa | 2019-08-28 15:45:35 +0900 (Wed, 28 Aug 2019) | 3 lines merge revision(s): f308ab2131ee675000926540cbb8c13c91dc3be5 Remove jquery.js ------------------------------------------------------------------------ r67791 | usa | 2019-08-28 14:00:39 +0900 (Wed, 28 Aug 2019) | 4 lines merge revision(s) 989e8ad322afdfa3aa06e74b89fc42aef42895d0: Remove debug print [ci skip] ------------------------------------------------------------------------ r67781 | usa | 2019-08-27 21:55:42 +0900 (Tue, 27 Aug 2019) | 2 lines Update rdoc version from 5.0.0 to 5.0.1. ------------------------------------------------------------------------ r67393 | svn | 2019-04-01 00:01:14 +0900 (Mon, 01 Apr 2019) | 1 line * 2019-04-01 ------------------------------------------------------------------------ r67392 | usa | 2019-04-01 00:01:13 +0900 (Mon, 01 Apr 2019) | 6 lines merge revision(s) 67201: [Backport #15650] eval.c: clear internal errinfo * eval.c (ruby_cleanup): clear internal error info when invoking end procs. [ruby-core:91731] [Bug #15650] ------------------------------------------------------------------------ r67391 | usa | 2019-03-31 23:58:24 +0900 (Sun, 31 Mar 2019) | 6 lines merge revision(s) 67188: [Backport #15642] io.c: chomp CR at the end of read buffer * io.c (rb_io_getline_fast): chomp CR followed by LF but separated by the read buffer boundary. [ruby-core:91707] [Bug #15642] ------------------------------------------------------------------------ r67303 | usa | 2019-03-19 03:30:36 +0900 (Tue, 19 Mar 2019) | 2 lines Applied security patches for RubyGems ------------------------------------------------------------------------ r67154 | usa | 2019-03-01 16:57:58 +0900 (Fri, 01 Mar 2019) | 3 lines merge revision(s) 65365: Update for tzdata-2018f ------------------------------------------------------------------------ r67153 | usa | 2019-03-01 15:19:58 +0900 (Fri, 01 Mar 2019) | 2 lines Get rid of "shadowing outer local varable" warning ------------------------------------------------------------------------ r67148 | usa | 2019-02-28 23:55:05 +0900 (Thu, 28 Feb 2019) | 9 lines merge revision(s) 66909: [Backport #15555] tmpdir.rb: permission of user given directory * lib/tmpdir.rb (Dir.mktmpdir): check if the permission of the parent directory only when using the default temporary directory, and no check against user given directory. the security is the user's responsibility in that case. [ruby-core:91216] [Bug #15555] ------------------------------------------------------------------------ r67147 | usa | 2019-02-28 23:52:06 +0900 (Thu, 28 Feb 2019) | 12 lines merge revision(s) 62872,62873: [Backport #14621] parse.y: unindent continued line * parse.y (tokadd_string): stop at continued line in dedented here documents, to dedent for each lines before removing escaped newlines. [ruby-core:86236] [Bug #14621] parse.y: terminator at continued line * parse.y (here_document): a continuing line is not the terminator. [ruby-core:86283] [Bug #14621] ------------------------------------------------------------------------ r66975 | usa | 2019-02-01 11:17:14 +0900 (Fri, 01 Feb 2019) | 2 lines Revert r66968 ------------------------------------------------------------------------ r66970 | usa | 2019-01-31 20:08:07 +0900 (Thu, 31 Jan 2019) | 3 lines merge revision(s) 65667: [Backport #15284] Fix for bison 3.2 [Bug #15284] ------------------------------------------------------------------------ r66969 | usa | 2019-01-31 20:03:57 +0900 (Thu, 31 Jan 2019) | 5 lines merge revision(s) 66685,66686: [Backport #15495] Try to update cert Try to update cert (2nd try) ------------------------------------------------------------------------ r66968 | usa | 2019-01-31 20:02:52 +0900 (Thu, 31 Jan 2019) | 17 lines merge revision(s) 64589,64593: [Backport #15041] cont.c: set th->root_fiber to current fiber at fork Otherwise, th->root_fiber can point to an invalid Fiber, because Fibers do not live across fork. So consider whatever Fiber is running the root fiber. [ruby-core:88723] [Bug #15041] cont.c (rb_fiber_atfork): th->root_fiber may not exist Otherwise, bootstraptest/test_fork.rb fails with -DVM_CHECK_MODE=2 [Bug #15041] Fixes: r64589 "cont.c: set th->root_fiber to current fiber at fork" ------------------------------------------------------------------------ r66967 | usa | 2019-01-31 19:59:53 +0900 (Thu, 31 Jan 2019) | 6 lines merge revision(s) 65974: [Backport #15340] Normalize month-mday before finding epoch Especially over the year 2038, 30 Feb and so on may cause odd behavior on validating found epoch with given year-month-day [Bug #15340] ------------------------------------------------------------------------ r66966 | usa | 2019-01-31 19:58:49 +0900 (Thu, 31 Jan 2019) | 10 lines merge revision(s) 66756: [Backport #15479] Mark array as "going to be modified" in `Array#reject!` Before this patch, if `reject!` is called on a shared array it can mutate the shared array rather than a copy. This patch marks the array as "going to be modified" so that the shared source array isn't mutated. [Bug #15479] [ruby-core:90781] ------------------------------------------------------------------------ r66965 | usa | 2019-01-31 19:56:17 +0900 (Thu, 31 Jan 2019) | 7 lines merge revision(s) 66242: [Backport #15387] io.c (io_write_nonblock): add RB_GC_GUARD, io_fflush may switch threads Since io_fflush may block on mutex or rb_io_wait_readable and switch threads, we need to ensure the `str' VALUE returned by `rb_obj_as_string` is visible to GC. ------------------------------------------------------------------------ r66964 | usa | 2019-01-31 19:55:37 +0900 (Thu, 31 Jan 2019) | 6 lines merge revision(s) 66401: [Backport #15412] Move autoload to toplevel So that classes which uses Net::HTTP with https can use OpenSSL namespace for example exception classes like OpenSSL::SSL::SSLError. ------------------------------------------------------------------------ r66963 | usa | 2019-01-31 19:51:55 +0900 (Thu, 31 Jan 2019) | 2 lines Fixed [Bug #14731] ------------------------------------------------------------------------ r66962 | usa | 2019-01-31 19:47:59 +0900 (Thu, 31 Jan 2019) | 7 lines merge revision(s) 63334: [Backport #14729] object.c: raise on long invalid float string * object.c (rb_cstr_to_dbl_raise): check long invalid float string more precisely when truncating insignificant part. [ruby-core:86800] [Bug #14729] ------------------------------------------------------------------------ r66961 | usa | 2019-01-31 19:36:30 +0900 (Thu, 31 Jan 2019) | 7 lines merge revision(s) 64879: [Backport #15162] transcode.c: add GC guard on raise * transcode.c (econv_s_search_convpath): add GC guard to fix SEGV on raise. [Bug #15162] [ruby-core:89172] ------------------------------------------------------------------------ r65342 | usa | 2018-10-24 07:55:53 +0900 (Wed, 24 Oct 2018) | 2 lines bump teeny ------------------------------------------------------------------------ r65134 | usa | 2018-10-18 00:30:28 +0900 (Thu, 18 Oct 2018) | 2 lines updated ext/openssl to 2.0.9 ------------------------------------------------------------------------ r65129 | usa | 2018-10-18 00:08:59 +0900 (Thu, 18 Oct 2018) | 8 lines merge revision(s) 65125: infect taint flag on Array#pack and String#unpack with the directives "B", "b", "H" and "h". * pack.c (pack_pack, pack_unpack_internal): infect taint flag. * test/ruby/test_pack.rb: add test for above. ------------------------------------------------------------------------ r65118 | usa | 2018-10-17 18:25:11 +0900 (Wed, 17 Oct 2018) | 14 lines merge revision(s) 63067,63068: [Backport #14658] Fix Kernel#singleton_method with Module#Prepend * proc.c (rb_obj_singleton_method): search the method entry from the origin class, for fix prepended modules. [Bug #14658] From: Vasiliy Ermolovich <younash@gmail.com> proc.c: fix segfault when no singleton class * proc.c (rb_obj_singleton_method): bail out if the receiver does not have the singleton class without accessing the origin class not to segfault. [Bug #14658] ------------------------------------------------------------------------ r65117 | usa | 2018-10-17 18:22:24 +0900 (Wed, 17 Oct 2018) | 12 lines merge revision(s) 62007,62024: [Backport #13069] mkmf.rb: ignore linker warnings * lib/mkmf.rb (try_ldflags): ignore linker warnings. they cause unexpected failures on OpenBSD. [ruby-core:78827] [Bug #13069] mkmf.rb: werror on mswin * lib/mkmf.rb (MakeMakefile#try_ldflags): enable warning checking on mswin, link.exe warns -l options but does not fail. [Bug #13069] ------------------------------------------------------------------------ r65116 | usa | 2018-10-17 18:10:26 +0900 (Wed, 17 Oct 2018) | 11 lines merge revision(s) 64745: [Backport #15118] Use opt_{aref,aset} over opt_{aref,aset}_with * compile.c (iseq_compile_each0): Use `opt_aref`/`opt_aset` over `opt_aref_with`/`opt_aset_with` when frozen_string_literal: true, not to resurrect the index string on non-Hash receiver. [Fix GH-1957] From: chopraanmol1 <chopraanmol1@gmail.com> ------------------------------------------------------------------------ r65115 | usa | 2018-10-17 17:40:36 +0900 (Wed, 17 Oct 2018) | 22 lines merge revision(s) 63711,64398: [Backport #14841] thread_sync.c (rb_mutex_lock): fix deadlock * thread_sync.c (rb_mutex_lock): fix deadlock [ruby-core:87467] [Bug #14841] thread_sync.c (rb_mutex_lock): acquire lock before being killed We (the thread acquiring the mutex) need to acquire the mutex before being killed to work with ConditionVariable#wait. Thus we reinstate the acquire-immediately-after-sleeping logic from pre-r63711 while still retaining the acquire-after-checking-for-interrupts logic from r63711. This regression was introduced in commit 501069b8a4013f2e3fdde35c50e9527ef0061963 (r63711) ("thread_sync.c (rb_mutex_lock): fix deadlock") for [Bug #14841] [ruby-core:88503] [Bug #14999] [Bug #14841] ------------------------------------------------------------------------ r65114 | usa | 2018-10-17 17:30:28 +0900 (Wed, 17 Oct 2018) | 2 lines revert r65112, because of fearing an imcompatibility ------------------------------------------------------------------------ r65113 | usa | 2018-10-17 17:27:39 +0900 (Wed, 17 Oct 2018) | 5 lines merge revision(s) 64900: [Backport #15190] Just a shebang is valid code [ruby-core:89240] [Bug #15190] ------------------------------------------------------------------------ r65112 | usa | 2018-10-17 17:18:44 +0900 (Wed, 17 Oct 2018) | 8 lines merge revision(s) 60018: [Backport #13931] configure.in: install_name without teeny * configure.in (RUBY_API_VERSION): remove teeny from install_name to allow link extension libraries for the same minor version. patched by kimuraw (Wataru Kimura) at [ruby-dev:50262]. [Bug #13931] ------------------------------------------------------------------------ r65111 | usa | 2018-10-17 17:15:47 +0900 (Wed, 17 Oct 2018) | 7 lines merge revision(s) 64915: [Backport #15205] check argument type. * iseq.c (iseqw_s_compile): check argument type (T_STRING) to avoid SEGV. ------------------------------------------------------------------------ r65110 | usa | 2018-10-17 17:11:45 +0900 (Wed, 17 Oct 2018) | 6 lines merge revision(s) 64913: [Backport #15223] Support ubasecrt.dll 10.0.17763.1 included in Windows 10 October 2018 Update ------------------------------------------------------------------------ r65109 | usa | 2018-10-17 16:56:26 +0900 (Wed, 17 Oct 2018) | 3 lines merge revision(s) 61323: [Backport #15069] suppress warning: 'const' attribute on function returning 'void' ------------------------------------------------------------------------ r64649 | usa | 2018-09-06 18:24:18 +0900 (Thu, 06 Sep 2018) | 3 lines re-patched r50599 because of test failure on TravisCI. [Backport #14060] ------------------------------------------------------------------------ r64564 | usa | 2018-08-27 23:18:59 +0900 (Mon, 27 Aug 2018) | 7 lines merge revision(s) 64092: [Backport #14942] win32.c: limit write size on console * win32/win32.c (constat_parse): split long buffer and limit write size on a console, as well as rb_w32_write. [ruby-dev:50597] [Bug #14942] ------------------------------------------------------------------------ r64563 | usa | 2018-08-27 23:15:43 +0900 (Mon, 27 Aug 2018) | 6 lines merge revision(s) 64071: [Backport #14941] ruby.c: taint ARGV on Windows * ruby.c (external_str_new_cstr): strings come from the external should be tainted. [ruby-dev:50596] [Bug #14941] ------------------------------------------------------------------------ r64562 | usa | 2018-08-27 23:11:19 +0900 (Mon, 27 Aug 2018) | 8 lines merge revision(s) 64014: [Backport #14926] fix sum on infinity * array.c (rb_ary_sum): consider non-finite floats. [ruby-core:88024] [Bug #14926] * enum.c (sum_iter): ditto. ------------------------------------------------------------------------ r64561 | usa | 2018-08-27 23:08:56 +0900 (Mon, 27 Aug 2018) | 21 lines merge revision(s) 64007,64019,64020: [Backport #14929] thread.c (do_select): fix leak on exception When do_select is interrupted and raise happens from RUBY_VM_CHECK_INTS_BLOCKING, the original FD sets we copied do not get freed, leading to a memory leak. Wrap up all the FD sets into a Ruby object to ensure the GC can release an allocations made for rb_fdset_t. This leak existed since Ruby 2.0.0 (r36430) [Bug #14929] increase timeout seconds. * test/ruby/test_io.rb (test_select_leak): increase timeout seconds to pass this test on a high-load machine. 60 sec is not enough at all ------------------------------------------------------------------------ r64560 | usa | 2018-08-27 22:59:09 +0900 (Mon, 27 Aug 2018) | 6 lines merge revision(s) 63994: [Backport #14920] reduce tzset * time.c (rb_localtime_r): call tzset() only after TZ environment variable is changed. ------------------------------------------------------------------------ r64559 | usa | 2018-08-27 22:48:53 +0900 (Mon, 27 Aug 2018) | 7 lines merge revision(s) 63696: [Backport #14853] variable.c: fix receiver on private constant * variable.c (rb_const_search): fix NameError :receiver attribute on private constant, should raise with the included module, not the ICLASS. ------------------------------------------------------------------------ r64558 | usa | 2018-08-27 22:47:40 +0900 (Mon, 27 Aug 2018) | 27 lines merge revision(s) 62731,62735: [Backport #14495] Bug Fix Enumerator::Lazy#uniq state for multiple call * enumerator.c (lazy_uniq_i): create new hash for each calls. [Fix GH-1820] Currently 2.5.0-preview1 :001 > arr = (0..100).lazy.uniq{|i| i % 10} => #<Enumerator::Lazy: #<Enumerator::Lazy: 0..100>:uniq> 2.5.0-preview1 :002 > arr.to_a => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] 2.5.0-preview1 :003 > arr.to_a => [] Expected arr.to_a to always return same output From: Anmol Chopra <anmolchopra@rocketbox.in> test_enumerator.rb: duplicate assertions * test/ruby/test_enumerator.rb (test_uniq): remove assertions which ared duplicate of lazy enumerator tests in test_lazy_enumerator.rb. ------------------------------------------------------------------------ r64149 | usa | 2018-07-31 23:21:59 +0900 (Tue, 31 Jul 2018) | 6 lines merge revision(s) 60011: test_gc.rb: relax criterion * test/ruby/test_gc.rb (TestGc#test_expand_heap): relax the criterion and compare by epsilon. ------------------------------------------------------------------------ r64148 | usa | 2018-07-31 23:12:08 +0900 (Tue, 31 Jul 2018) | 12 lines merge revision(s) 63512,63514: [Backport #14790] time.rb: fix parsing time zone in iso8601 * lib/time.rb (Time.xmlschema): a colon in time zone designator can be omitted. [ruby-core:87277] [Bug #14790] time.rb: fix parsing time zone in iso8601 * lib/time.rb (Time.xmlschema): the minute in time zone designator can be omitted together with the preceding colon. [ruby-core:87277] [Bug #14790] ------------------------------------------------------------------------ r64147 | usa | 2018-07-31 23:01:54 +0900 (Tue, 31 Jul 2018) | 6 lines merge revision(s) 63417: [Backport #14756] error.c: check redefined backtrace result * error.c (rb_get_backtrace): check the result of `backtrace` even if the method is redefined. [ruby-core:87013] [Bug #14756] ------------------------------------------------------------------------ r64146 | usa | 2018-07-31 22:54:40 +0900 (Tue, 31 Jul 2018) | 2 lines backport openssl v2.0.8 [Backport #14754] ------------------------------------------------------------------------ r64130 | usa | 2018-07-30 23:15:00 +0900 (Mon, 30 Jul 2018) | 9 lines merge revision(s) 63741: [Backport #14868] process.c (ruby_fork_ruby): fix race in signal handling We must block signals before stopping timer-thread, otherwise signal handing may be delayed until (and if) another signal is received after timer-thread is restarted. [ruby-core:87622] [Bug #14868] [Bug #13916] ------------------------------------------------------------------------ r64129 | usa | 2018-07-30 23:11:50 +0900 (Mon, 30 Jul 2018) | 8 lines merge revision(s) 63727: [Backport #14865] vm.c: fix infinite loop * vm.c: use EXEC_EVENT_HOOK_AND_POP_FRAME. While exception handling, if an exception is raised in hooks, need to pop current frame and raise this raised exception by hook. [ruby-dev:50582] [Bug #14865] ------------------------------------------------------------------------ r64128 | usa | 2018-07-30 23:06:52 +0900 (Mon, 30 Jul 2018) | 15 lines merge revision(s) 63698: [Backport #14856] lib/drb/extservm.rb (service): do not return `false' invoke_service_command may set entries in @servers to `false', making it incompatible with the intended use of the safe navigation operator. This caused occasional DRb test failures, but they were hidden with automatic retry. [ruby-core:87524] [Bug #14856] Fixes: r53111 ("use safe navigation operator") commit 059c9c1cf371e049c7481c78b76e9620da52757f [GH-1142] ------------------------------------------------------------------------ r64127 | usa | 2018-07-30 23:00:13 +0900 (Mon, 30 Jul 2018) | 9 lines merge revision(s) 63112: [Backport #14818] Remove outdated example from Numeric documentation Since 2.5, Numeric instances can be cloned and duplicated. [Fix GH-1850] From: Miguel Landaeta <miguel@miguel.cc> ------------------------------------------------------------------------ r64126 | usa | 2018-07-30 22:57:35 +0900 (Mon, 30 Jul 2018) | 24 lines merge revision(s) 63571,63572: [Backport #14816] `int isnan(double)` is a POSIXism - `isnan` is something relatively new. We need to provide one for those systems without it. However: - X/Open defines `int isnan(double)`. Note the `int`. - C99 defines `isnan(x)` to be a macro. - C++11 nukes them all, undefines all the "masking macro"s, and defines its own `bool isnan(double)`. Note the `bool`. - In C++, `int isnan(double)` and `bool isnan(double)` are incompatible. - So the mess. [Bug #14816][ruby-core:87364] further reading: https://developers.redhat.com/blog/2016/02/29/why-cstdlib-is-more-complicated-than-you-might-think/ include/ruby/missing.h: defined(__cplusplus) before using __cplusplus * include/ruby/missing.h (isinf, isnan): For non-C++ programs, defined(__cplusplus) may be needed before using __cplusplus. [Bug #14816] ------------------------------------------------------------------------ r64125 | usa | 2018-07-30 22:54:27 +0900 (Mon, 30 Jul 2018) | 21 lines merge revision(s) 63549,63551,63554: [Backport #14805] memo->u3.cnt is long not int [Bug #14805] enum.c: mitigate overflows * enum.c (enum_count): convert counters to Integer as unsigned long, instead of long, to mitigate overflows. [ruby-core:87348] [Bug #14805] * enum.c (ary_inject_op): ditto. * enum.c (each_with_index_i): ditto, instead of int. * enum.c (find_index_i, find_index_iter_i): ditto, instead of unsigned int. enum.c: bignum counter * enum.c (imemo_count_up, imemo_count_value): promote the counter value to a bignum on overflow. [Bug #14805] ------------------------------------------------------------------------ r63809 | usa | 2018-06-30 22:24:21 +0900 (Sat, 30 Jun 2018) | 5 lines Fix path checks for case insensitive filesystem see https://github.com/rubygems/rubygems/pull/2211 [ruby-core:86745] [Backport #14721] ------------------------------------------------------------------------ r63808 | usa | 2018-06-30 22:08:51 +0900 (Sat, 30 Jun 2018) | 19 lines merge revision(s) 63054,63055,63056: [Backport #14655] test_time_tz.rb: Kiritimati tzdata fix * test/ruby/test_time_tz.rb (TestTimeTZ#test_pacific_kiritimati): fix the expected data at the skip of New Year's Eve 1994. [Bug #14655] test_time_tz.rb: Kiritimati tzdata fix * test/ruby/test_time_tz.rb (gen_zdump_test): fix the expected data at the Kiritimati's skip of New Year's Eve 1994. [Bug #14655] test_time_tz.rb: Lisbon tzdata fix * test/ruby/test_time_tz.rb (gen_variational_zdump_test): Update Lisbon zdump data, which fixed the 1912-01-01 transition for Portugual and its colonies. [Bug #14655] ------------------------------------------------------------------------ r63807 | usa | 2018-06-30 22:06:35 +0900 (Sat, 30 Jun 2018) | 13 lines merge revision(s) 60596,60599: [Backport #14060] file.c: infect from arguments * file.c (rb_check_realpath_internal): infetct the result with arguments, no taint if none are tainted and cwd is not used. [ruby-core:83583] [Bug #14060] file.c: infect from arguments * file.c (rb_check_realpath_internal): infetct the result with arguments, no taint if none are tainted and cwd is not used. [ruby-core:83583] [Bug #14060] ------------------------------------------------------------------------ r63806 | usa | 2018-06-30 22:00:09 +0900 (Sat, 30 Jun 2018) | 7 lines merge revision(s) 62952: [Backport #14638] win32/file.c: relative path with drive letter * win32/file.c (IS_ABSOLUTE_PATH_P): home directory should not be a relative path regardless a drive letter. PathIsRelativeW returns FALSE on such path. [ruby-core:86356] [Bug #14638] ------------------------------------------------------------------------ r63805 | usa | 2018-06-30 21:56:17 +0900 (Sat, 30 Jun 2018) | 37 lines merge revision(s) 62396: [Backport #14357] st.c: retry operations if rebuilt Calling the .eql? and .hash methods during a Hash operation can result in a thread switch or a signal handler to run: allowing one execution context to rebuild the hash table while another is still reading or writing the table. This results in a use-after-free bug affecting the thread_safe-0.3.6 test suite and likely other bugs. This bug did not affect users of commonly keys (String, Symbol, Fixnum) as those are optimized to avoid method dispatch for .eql? and .hash methods. A separate version of this change needs to be ported to Ruby 2.3.x which had a different implementation of st.c but was affected by the same bug. * st.c: Add comment about table rebuilding during comparison. (DO_PTR_EQUAL_CHECK): New macro. (REBUILT_TABLE_ENTRY_IND, REBUILT_TABLE_BIN_IND): New macros. (find_entry, find_table_entry_ind, find_table_bin_ind): Use new macros. Return the rebuild flag. (find_table_bin_ptr_and_reserve): Ditto. (st_lookup, st_get_key, st_insert, st_insert2): Retry the operation if the table was rebuilt. (st_general_delete, st_shift, st_update, st_general_foreach): Ditto. (st_rehash_linear, st_rehash_indexed): Use DO_PTR_EQUAL_CHECK. Return the rebuild flag. (st_rehash): Retry the operation if the table was rebuilt. [ruby-core:85510] [Ruby trunk Bug#14357] Thanks to Vit Ondruch for reporting the bug. From: Vladimir Makarov <vmakarov@redhat.com> ------------------------------------------------------------------------ r63804 | usa | 2018-06-30 21:34:19 +0900 (Sat, 30 Jun 2018) | 10 lines merge revision(s) 62513: [Backport #12762] Update url with 404 status on LEGAL file. * Update redirected and upstream url. * Added the Wayback Machine url for missing link. [Bug #12762][ruby-dev:49802] From: SHIBATA Hiroshi <hsbt@ruby-lang.org> ------------------------------------------------------------------------ r63691 | usa | 2018-06-18 23:11:34 +0900 (Mon, 18 Jun 2018) | 2 lines Forgotten to update RUBY_PATCHLEVEL ------------------------------------------------------------------------ r63690 | svn | 2018-06-18 22:50:01 +0900 (Mon, 18 Jun 2018) | 1 line * 2018-06-18 ------------------------------------------------------------------------ r63689 | usa | 2018-06-18 22:50:00 +0900 (Mon, 18 Jun 2018) | 6 lines Fixed tempfile leaks * lib/rubygems.rb (Gem::VERSION): 2.6.14.2 * lib/rubygems/ext/ext_conf_builder.rb: merge from 2.7.7. ------------------------------------------------------------------------ r63626 | usa | 2018-06-10 17:59:17 +0900 (Sun, 10 Jun 2018) | 6 lines merge revision(s) 58455: use $(srcdir). * win32/Makefile.sub (enc/jis/props.h): build it in not builddir, but in srcdir. ------------------------------------------------------------------------ r63036 | nagachika | 2018-03-29 21:15:11 +0900 (Thu, 29 Mar 2018) | 1 line bump up teeny version to 2.4.5. ------------------------------------------------------------------------ r63012 | nagachika | 2018-03-28 22:54:58 +0900 (Wed, 28 Mar 2018) | 80 lines merge revision(s) 60584,62954,62955,62956,62957,62958,62959,63008: webrick: support Proc objects as body responses * lib/webrick/httpresponse.rb (send_body): call send_body_proc (send_body_proc): new method (class ChunkedWrapper): new class * test/webrick/test_httpresponse.rb (test_send_body_proc): new test (test_send_body_proc_chunked): ditto [Feature #855] webrick/httpresponse: IO.copy_stream for regular files Remove the redundant _send_file method since its functionality is unnecessary with IO.copy_stream. IO.copy_stream also allows the use of sendfile under some OSes to speed up copies to non-TLS sockets. Testing with "curl >/dev/null" and "ruby -run -e httpd" to read a 1G file over Linux loopback reveals a reduction from around ~0.770 to ~0.490 seconds on the client side. * lib/webrick/httpresponse.rb (send_body_io): use IO.copy_stream (_send_file): remove [Feature #14237] webrick: use IO.copy_stream for single range response This is also compatible with range responses generated by Rack::File (tested with rack 2.0.3). * lib/webrick/httpresponse.rb (send_body_io): use Content-Range * lib/webrick/httpservlet/filehandler.rb (make_partial_content): use File object for the single range case * test/webrick/test_filehandler.rb (get_res_body): use send_body to test result test/webrick/test_filehandler.rb: stricter multipart range test We need to ensure we generate compatibile output in the face of future changes * test/webrick/test_filehandler.rb (test_make_partial_content): check response body webrick: quiet warning for multi-part ranges Content-Length is ignored by WEBrick::HTTPResponse even if we calculate it, so instead we chunk responses to HTTP/1.1 clients and terminate HTTP/1.0 connections. * lib/webrick/httpservlet/filehandler.rb (make_partial_content): quiet warning webrick/httpresponse: make ChunkedWrapper copy_stream-compatible The .write method needs to return the number of bytes written to avoid confusing IO.copy_stream. * lib/webrick/httpresponse.rb (ChunkedWrapper#write): return bytes written (ChunkedWrapper#<<): return self webrick: use IO.copy_stream for multipart response Use the new Proc response body feature to generate a multipart range response dynamically. We use a flat array to minimize object overhead as much as possible; as many ranges may fit into an HTTP request header. * lib/webrick/httpservlet/filehandler.rb (multipart_body): new method (make_partial_content): use multipart_body get rid of test error/failure on Windows introduced at r62955 * lib/webrick/httpresponse.rb (send_body_io): use seek if NotImplementedError is raised in IO.copy_stream with offset. * lib/webrick/httpservlet/filehandler.rb (multipart_body): ditto. ------------------------------------------------------------------------ r63004 | nagachika | 2018-03-28 21:23:29 +0900 (Wed, 28 Mar 2018) | 72 lines merge revision(s) 62960,62961,62962,62963,62964,62965: webrick/httprequest: limit request headers size We use the same 112 KB limit started (AFAIK) by Mongrel, Thin, and Puma to prevent malicious users from using up all the memory with a single request. This also limits the damage done by excessive ranges in multipart Range: requests. Due to the way we rely on IO#gets and the desire to keep the code simple, the actual maximum header may be 4093 bytes larger than 112 KB, but we're splitting hairs at that point. * lib/webrick/httprequest.rb: define MAX_HEADER_LENGTH (read_header): raise when headers exceed max length webrick/httpservlet/cgihandler: reduce memory use WEBrick::HTTPRequest#body can be passed a block to process the body in chunks. Use this feature to avoid building a giant string in memory. * lib/webrick/httpservlet/cgihandler.rb (do_GET): avoid reading entire request body into memory (do_POST is aliased to do_GET, so it handles bodies) webrick/httprequest: raise correct exception "BadRequest" alone does not resolve correctly, it is in the HTTPStatus namespace. * lib/webrick/httprequest.rb (read_chunked): use correct exception * test/webrick/test_httpserver.rb (test_eof_in_chunk): new test webrick/httprequest: use InputBufferSize for chunked requests While WEBrick::HTTPRequest#body provides a Proc interface for streaming large request bodies, clients must not force the server to use an excessively large chunk size. * lib/webrick/httprequest.rb (read_chunk_size): limit each read and block.call to :InputBufferSize in config. * test/webrick/test_httpserver.rb (test_big_chunks): new test webrick: add test for Digest auth-int No changes to the actual code, this is a new test for a feature for which no tests existed. I don't understand the Digest authentication code well at all, but this is necessary for the subsequent change. * test/webrick/test_httpauth.rb (test_digest_auth_int): new test (credentials_for_request): support bodies with POST webrick/httpauth/digestauth: stream req.body WARNING! WARNING! WARNING! LIKELY BROKEN CHANGE Pass a proc to WEBrick::HTTPRequest#body to avoid reading a potentially large request body into memory during authentication. WARNING! this will break apps completely which want to do something with the body besides calculating the MD5 digest of it. Also, keep in mind that probably nobody uses "auth-int". Servers such as Apache, lighttpd, nginx don't seem to support it; nor does curl when using POST/PUT bodies; and we didn't have tests for it until now... * lib/webrick/httpauth/digestauth.rb (_authenticate): stream req.body ------------------------------------------------------------------------ r63003 | nagachika | 2018-03-28 21:07:05 +0900 (Wed, 28 Mar 2018) | 11 lines merge revision(s) 62991,63000: unixsocket.c: check NUL bytes * ext/socket/unixsocket.c (rsock_init_unixsock): check NUL bytes. https://hackerone.com/reports/302997 unixsocket.c: abstract namespace * ext/socket/unixsocket.c (unixsock_path_value): fix r62991 for Linux abstract namespace. ------------------------------------------------------------------------ r63002 | nagachika | 2018-03-28 20:49:00 +0900 (Wed, 28 Mar 2018) | 11 lines merge revision(s) 62968: webrick: prevent response splitting and header injection Original patch by tenderlove (with minor style adjustments). * lib/webrick/httpresponse.rb (send_header): call check_header (check_header): raise on embedded CRLF in header value * test/webrick/test_httpresponse.rb (test_prevent_response_splitting_headers): new test * (test_prevent_response_splitting_cookie_headers): ditto ------------------------------------------------------------------------ r63001 | nagachika | 2018-03-28 20:44:55 +0900 (Wed, 28 Mar 2018) | 6 lines merge revision(s) 62992: pack.c: fix underflow * pack.c (pack_unpack_internal): get rid of underflow. https://hackerone.com/reports/298246 ------------------------------------------------------------------------ r62999 | nagachika | 2018-03-28 20:16:19 +0900 (Wed, 28 Mar 2018) | 9 lines merge revision(s) 62989: dir.c: check NUL bytes * dir.c (GlobPathValue): should be used in rb_push_glob only. other methods should use FilePathValue. https://hackerone.com/reports/302338 * dir.c (rb_push_glob): expand GlobPathValue ------------------------------------------------------------------------ r62998 | nagachika | 2018-03-28 19:52:33 +0900 (Wed, 28 Mar 2018) | 5 lines merge revision(s) 62990: Ignore file separator from tmpfile/tmpdir name. From: SHIBATA Hiroshi <hsbt@ruby-lang.org> ------------------------------------------------------------------------ r62988 | nagachika | 2018-03-28 18:39:53 +0900 (Wed, 28 Mar 2018) | 17 lines merge revision(s) 62953: webrick: favor .write over << method This will make the next change to use IO.copy_stream easier-to-read. When we can drop Ruby 2.4 support in a few years, this will allow us to use writev(2) with multiple arguments for headers and chunked responses. * lib/webrick/cgi.rb (write): new wrapper method lib/webrick/httpresponse.rb: (send_header): use socket.write (send_body_io): ditto (send_body_string): ditto (send_body_proc): ditto (_write_data): ditto (ChunkedWrapper#write): ditto (_send_file): ditto ------------------------------------------------------------------------ r62918 | nagachika | 2018-03-25 15:11:14 +0900 (Sun, 25 Mar 2018) | 9 lines merge revision(s) 62725: [Backport #14604] Fix setting method visibility on method wrapped with prepend Ignore prepended modules when looking for already defined methods on a class to set the visibility on. [Fix GH-1834] From: Dylan Thacker-Smith <Dylan.Smith@shopify.com> ------------------------------------------------------------------------ r62917 | nagachika | 2018-03-25 14:54:39 +0900 (Sun, 25 Mar 2018) | 7 lines merge revision(s) 62673: [Backport #14577] thread.c: deadlock in backtrace * thread.c (unblock_function_set): check interrupts just once during raising exceptions, as they are deferred since r16651. [ruby-core:85939] [Bug #14577] ------------------------------------------------------------------------ r62916 | nagachika | 2018-03-25 14:35:17 +0900 (Sun, 25 Mar 2018) | 15 lines merge revision(s) 62394,62395: [Backport #14469] vm_insnhelper.c: rb_autoloading_value flag * vm_insnhelper.c (vm_get_ev_const): add flag argument of `rb_autoloading_value`. * constant.h (rb_autoloading_value): moved the declaration from vm_core.h for `rb_const_flag_t`. [ruby-core:85516] [Bug #14469] variable.c: flags at autoloading * variable.c (const_tbl_update): flags by deprecate_constant / private_constant set during autoloading should be preserved after required. [ruby-core:85516] [Bug #14469] ------------------------------------------------------------------------ r62915 | nagachika | 2018-03-25 13:12:57 +0900 (Sun, 25 Mar 2018) | 18 lines merge revision(s) 62671: [Backport #14571] resolv.rb: close socket * lib/resolv.rb (UnconnectedUDP#lazy_initialize): store new sockets before binding, so the sockets get closed when the requester is closing. * lib/resolv.rb (ConnectedUDP#lazy_initialize): ditto. * lib/resolv.rb (UnconnectedUDP#close): synchronize to get rid of race condition. * lib/resolv.rb (ConnectedUDP#close): ditto. [ruby-core:85901] [Bug #14571] From: quixoten (Devin Christensen) <quixoten@gmail.com> ------------------------------------------------------------------------ r62904 | nagachika | 2018-03-23 21:42:58 +0900 (Fri, 23 Mar 2018) | 7 lines merge revision(s) 60162: [Backport #13994] socket.c: null byte at Socket.getnameinfo * ext/socket/socket.c (sock_s_getnameinfo): check null byte. patched by tommy (Masahiro Tomita) in [ruby-dev:50286]. [Bug #13994] ------------------------------------------------------------------------ r62903 | nagachika | 2018-03-23 21:03:58 +0900 (Fri, 23 Mar 2018) | 7 lines merge revision(s) 62607: [Backport #14557] file.c: realpath on special symlink * file.c (realpath_rec): fallback to symlink path when it is accessible but the link target is not actual entry on file systems. [ruby-dev:50487] [Bug #14557] ------------------------------------------------------------------------ r62883 | nagachika | 2018-03-22 01:17:09 +0900 (Thu, 22 Mar 2018) | 8 lines merge revision(s) 62572: [Backport #14549] date_core.c: defensive code * ext/date/date_core.c (f_cmp): check comparison failure. * ext/date/date_core.c (d_lite_step): deal with the comparison result more defensively. [ruby-core:85796] [Bug #14549] ------------------------------------------------------------------------ r62880 | nagachika | 2018-03-22 00:57:56 +0900 (Thu, 22 Mar 2018) | 6 lines merge revision(s) 61862: [Backport #14368] parse.y (new_regexp): Fix SEGV of `/#{"\u3042"}#{'{U+3044}'}/` in non UTF-8 Mixing other encoding string literals in one Regexp caused SEGV. This bug was found by CoverityScan. ------------------------------------------------------------------------ r62877 | nagachika | 2018-03-22 00:27:09 +0900 (Thu, 22 Mar 2018) | 8 lines merge revision(s) 62107: [Backport #14420] force fixable * complex.c (nucomp_hash): force hash values fixable. [ruby-core:85224] [Bug #14420] * rational.c (nurat_hash): ditto. ------------------------------------------------------------------------ r62876 | svn | 2018-03-22 00:04:01 +0900 (Thu, 22 Mar 2018) | 1 line * 2018-03-22 ------------------------------------------------------------------------ r62875 | nagachika | 2018-03-22 00:04:00 +0900 (Thu, 22 Mar 2018) | 7 lines merge revision(s) 62040: [Backport #14388] string.c: clear substring code range * string.c (str_substr): substring of broken code range string may be valid or broken. patch by tommy (Masahiro Tomita) at [ruby-dev:50430] [Bug #14388]. ------------------------------------------------------------------------ r62874 | nagachika | 2018-03-21 23:26:48 +0900 (Wed, 21 Mar 2018) | 8 lines merge revision(s) 57637: [Backport #14453] win32.c: memcpy instead of strlcpy * win32/win32.c (cmdglob): memcpy the exact size instead of strlcpy with +1. * win32/win32.c (w32_cmdvector): ditto, with NUL-terminating. ------------------------------------------------------------------------ r62868 | nagachika | 2018-03-21 03:07:27 +0900 (Wed, 21 Mar 2018) | 9 lines merge revision(s) 61603: [Backport #14279] check array for zsuper. [Bug #14279] * compile.c (iseq_compile_each0): for zsuper (NODE_ZSUPER), we need to check given argument is Array or not. * test/ruby/test_super.rb: add a test for this bug. ------------------------------------------------------------------------ r62867 | nagachika | 2018-03-21 02:55:34 +0900 (Wed, 21 Mar 2018) | 13 lines merge revision(s) 61639: [Backport #14323] net/ftp: fix FrozenError in BufferedSocket I noticed this bug while working on something else with RUBYOPT=-d on, existing test cases all passed with it. Note: I use String.new because it is the local style, here, I prefer +'' (or ''.b, for a future commit) * lib/net/ftp.rb (BufferedSocket#read): use String.new * test/net/ftp/test_buffered_socket.rb (test_read_nil): new test [ruby-core:84675] [Bug #14323] ------------------------------------------------------------------------ r62866 | nagachika | 2018-03-21 01:21:06 +0900 (Wed, 21 Mar 2018) | 8 lines merge revision(s) 62115: [Backport #14421] proc: fix super_method segfault after bind * proc.c: handle undefined iclass [ruby-core:85231] [Bug #14421] From: Eric Wong <e@80x24.org> ------------------------------------------------------------------------ r62865 | nagachika | 2018-03-21 00:53:38 +0900 (Wed, 21 Mar 2018) | 12 lines merge revision(s) 58245,60127: [Backport #13973] Refactored using Method#owner. proc.c: super_method of included method * proc.c (method_super_method): search the next super method along the included ancestor chain. [ruby-core:83114] [Bug #13973] * vm_method.c (rb_callable_method_entry_without_refinements): return the defined class. ------------------------------------------------------------------------ r62864 | nagachika | 2018-03-20 23:18:34 +0900 (Tue, 20 Mar 2018) | 108 lines merge revision(s) 61564,61565,61571: [Backport #14270] fix SEGV touching uninitialized memory This function can be called from Init_VM(). No assumption can be made about object internals. (lldb) run Process 15734 launched: './miniruby' (x86_64) Process 15734 stopped * thread #1: tid = 0x1441d4, 0x00000001000bdfcb miniruby`rb_raw_iseq_info(buff="0x0000000100f61f48 [0 ] T_IMEMO iseq", buff_size=256, iseq=0x0000000100f61f48) + 27 at gc.c:9273, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x50) frame #0: 0x00000001000bdfcb miniruby`rb_raw_iseq_info(buff="0x0000000100f61f48 [0 ] T_IMEMO iseq", buff_size=256, iseq=0x0000000100f61f48) + 27 at gc.c:9273 9270 static void 9271 rb_raw_iseq_info(char *buff, const int buff_size, const rb_iseq_t *iseq) 9272 { -> 9273 if (iseq->body->location.label) { 9274 VALUE path = rb_iseq_path(iseq); 9275 snprintf(buff, buff_size, "%s %s@%s:%d", buff, 9276 RSTRING_PTR(iseq->body->location.label), (lldb) p *iseq (rb_iseq_t) $0 = { flags = 28698 reserved1 = 0 body = 0x0000000000000000 aux = { compile_data = 0x0000000000000000 loader = (obj = 0, index = 0) trace_events = 0 } } (lldb) bt * thread #1: tid = 0x1441d4, 0x00000001000bdfcb miniruby`rb_raw_iseq_info(buff="0x0000000100f61f48 [0 ] T_IMEMO iseq", buff_size=256, iseq=0x0000000100f61f48) + 27 at gc.c:9273, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x50) * frame #0: 0x00000001000bdfcb miniruby`rb_raw_iseq_info(buff="0x0000000100f61f48 [0 ] T_IMEMO iseq", buff_size=256, iseq=0x0000000100f61f48) + 27 at gc.c:9273 frame #1: 0x00000001000bde72 miniruby`rb_raw_obj_info(buff="0x0000000100f61f48 [0 ] T_IMEMO iseq", buff_size=256, obj=4311097160) + 2786 at gc.c:9396 frame #2: 0x00000001000b7c5f miniruby`obj_info(obj=4311097160) + 95 at gc.c:9428 frame #3: 0x00000001000c16a8 miniruby`newobj_init(klass=0, flags=28698, v1=0, v2=0, v3=0, wb_protected=1, objspace=0x00000001007ee280, obj=4311097160) + 424 at gc.c:1887 frame #4: 0x00000001000b44c9 miniruby`newobj_of(klass=0, flags=28698, v1=0, v2=0, v3=0, wb_protected=1) + 217 at gc.c:1970 frame #5: 0x00000001000b464b miniruby`rb_imemo_new(type=imemo_iseq, v1=0, v2=0, v3=0, v0=0) + 75 at gc.c:2017 frame #6: 0x00000001000fd914 miniruby`iseq_imemo_alloc + 36 at iseq.h:156 frame #7: 0x00000001000f6e1d miniruby`iseq_alloc + 13 at iseq.c:211 frame #8: 0x00000001000f6bf8 miniruby`rb_iseq_new_with_opt(node=0x0000000000000000, name=4311097200, path=4311097200, realpath=8, first_lineno=1, parent=0x0000000000000000, type=ISEQ_TYPE_TOP, option=0x0000000100335c30) + 56 at iseq.c:519 frame #9: 0x00000001000f6bb6 miniruby`rb_iseq_new(node=0x0000000000000000, name=4311097200, path=4311097200, realpath=8, parent=0x0000000000000000, type=ISEQ_TYPE_TOP) + 86 at iseq.c:480 frame #10: 0x0000000100284bb0 miniruby`Init_VM + 1040 at vm.c:3022 frame #11: 0x00000001000d4f7d miniruby`rb_call_inits + 189 at inits.c:55 frame #12: 0x000000010009fe06 miniruby`ruby_setup + 198 at eval.c:61 frame #13: 0x000000010009fe5d miniruby`ruby_init + 13 at eval.c:78 frame #14: 0x00000001000009ed miniruby`main(argc=2, argv=0x00007fff5fbfdbf0) + 93 at main.c:41 frame #15: 0x00007fff88eda5ad libdyld.dylib`start + 1 (lldb) fix SEGV touching uninitialized memory This function can be called from rb_data_typed_object_zalloc(). No assumption can be made about object internals. (lldb) run Process 22135 launched: './miniruby' (x86_64) Process 22135 stopped * thread #1: tid = 0x14a3af, 0x000000010008ac8a miniruby`vm_block_type(block=0x0000000000000000) + 12 at vm_core.h:1364, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x18) frame #0: 0x000000010008ac8a miniruby`vm_block_type(block=0x0000000000000000) + 12 at vm_core.h:1364 1361 break; 1362 } 1363 #endif -> 1364 return block->type; 1365 } 1366 1367 static inline void (lldb) bt * thread #1: tid = 0x14a3af, 0x000000010008ac8a miniruby`vm_block_type(block=0x0000000000000000) + 12 at vm_core.h:1364, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x18) * frame #0: 0x000000010008ac8a miniruby`vm_block_type(block=0x0000000000000000) + 12 at vm_core.h:1364 frame #1: 0x000000010008acdb miniruby`vm_block_iseq(block=0x0000000000000000) + 24 at vm_core.h:1399 frame #2: 0x000000010008acc1 miniruby`vm_proc_iseq(procval=4310866360) + 32 at vm_core.h:1387 frame #3: 0x000000010009cbed miniruby`rb_raw_obj_info(buff="0x0000000100f299b8 [0 ] proc (Proc)", buff_size=256, obj=4310866360) + 1513 at gc.c:9349 frame #4: 0x000000010009cf01 miniruby`obj_info(obj=4310866360) + 98 at gc.c:9428 frame #5: 0x000000010008ca1b miniruby`newobj_init(klass=4311027960, flags=12, v1=4298186080, v2=1, v3=0, wb_protected=32, objspace=0x00000001007cf280, obj=4310866360) + 338 at gc.c:1887 frame #6: 0x000000010008cce5 miniruby`newobj_of(klass=4311027960, flags=12, v1=4298186080, v2=1, v3=0, wb_protected=32) + 171 at gc.c:1970 frame #7: 0x000000010008d01d miniruby`rb_data_typed_object_wrap(klass=4311027960, datap=0x0000000000000000, type=0x0000000100311d60) + 133 at gc.c:2062 frame #8: 0x000000010008d04e miniruby`rb_data_typed_object_zalloc(klass=4311027960, size=40, type=0x0000000100311d60) + 42 at gc.c:2073 frame #9: 0x000000010011b459 miniruby`rb_proc_alloc(klass=4311027960) + 36 at proc.c:113 frame #10: 0x0000000100204d8e miniruby`vm_proc_create_from_captured(klass=4311027960, captured=0x00000001025003f8, block_type=block_type_iseq, is_from_method='\0', is_lambda='\x01') + 44 at vm.c:814 frame #11: 0x00000001002050d8 miniruby`rb_vm_make_proc_lambda(ec=0x00000001007cf548, captured=0x00000001025003f8, klass=4311027960, is_lambda='\x01') + 134 at vm.c:892 frame #12: 0x000000010011c0d2 miniruby`proc_new(klass=4311027960, is_lambda='\x01') + 445 at proc.c:752 frame #13: 0x000000010011c154 miniruby`rb_block_lambda + 27 at proc.c:808 frame #14: 0x00000001001ee7e3 miniruby`call_cfunc_0(func=(miniruby`rb_block_lambda at proc.c:807), recv=4310991600, argc=0, argv=0x0000000102400480) + 41 at vm_insnhelper.c:1729 frame #15: 0x00000001001ef2c3 miniruby`vm_call_cfunc_with_frame(ec=0x00000001007cf548, reg_cfp=0x00000001025003e0, calling=0x00007fff5fbfd4d0, ci=0x0000000102537be0, cc=0x000000010253e0f0) + 386 at vm_insnhelper.c:1918 frame #16: 0x00000001001ef412 miniruby`vm_call_cfunc(ec=0x00000001007cf548, reg_cfp=0x00000001025003e0, calling=0x00007fff5fbfd4d0, ci=0x0000000102537be0, cc=0x000000010253e0f0) + 149 at vm_insnhelper.c:1934 frame #17: 0x00000001001f0655 miniruby`vm_call_method_each_type(ec=0x00000001007cf548, cfp=0x00000001025003e0, calling=0x00007fff5fbfd4d0, ci=0x0000000102537be0, cc=0x000000010253e0f0) + 239 at vm_insnhelper.c:2232 frame #18: 0x00000001001f0ce0 miniruby`vm_call_method(ec=0x00000001007cf548, cfp=0x00000001025003e0, calling=0x00007fff5fbfd4d0, ci=0x0000000102537be0, cc=0x000000010253e0f0) + 117 at vm_insnhelper.c:2355 frame #19: 0x00000001001f0eb6 miniruby`vm_call_general(ec=0x00000001007cf548, reg_cfp=0x00000001025003e0, calling=0x00007fff5fbfd4d0, ci=0x0000000102537be0, cc=0x000000010253e0f0) + 59 at vm_insnhelper.c:2398 frame #20: 0x00000001001f6e61 miniruby`vm_exec_core(ec=0x00000001007cf548, initial=0) + 7480 at insns.def:850 frame #21: 0x0000000100207995 miniruby`vm_exec(ec=0x00000001007cf548) + 230 at vm.c:1771 frame #22: 0x0000000100208647 miniruby`rb_iseq_eval_main(iseq=0x0000000100f29fd0) + 52 at vm.c:2019 frame #23: 0x000000010007b750 miniruby`ruby_exec_internal(n=0x0000000100f29fd0) + 297 at eval.c:246 frame #24: 0x000000010007b876 miniruby`ruby_exec_node(n=0x0000000100f29fd0) + 36 at eval.c:310 frame #25: 0x000000010007b849 miniruby`ruby_run_node(n=0x0000000100f29fd0) + 62 at eval.c:302 frame #26: 0x0000000100000c05 miniruby`main(argc=2, argv=0x00007fff5fbfdbf0) + 113 at main.c:42 frame #27: 0x00007fff88eda5ad libdyld.dylib`start + 1 (lldb) check an existence of block. * gc.c (rb_raw_obj_info): check block before using it. * vm_core.h (vm_block_iseq): r61565 introduced NULL check but this check is only needed by `rb_raw_obj_info()` and it is called at GC debug mode. Above fix for `rb_raw_obj_info()` solves this problem and NULL check should not be needed any more. ------------------------------------------------------------------------ r62863 | nagachika | 2018-03-20 22:52:06 +0900 (Tue, 20 Mar 2018) | 23 lines merge revision(s) 61471,61472: [Backport #14231] Use UINT128_T support flag from configure Current check for __uint128_t in hash.c is not valid, since it ignores compilers other than gcc. We hit this on lcc on e2k platform. Configure script properly checks from 128-bit data types support and sets HAVE_UINT128_T accordingly. This approach is already used within ruby at bignum.c, random.c, etc. Probably hash.c is an overlooked remnant of old days. This patch fixes this. [ruby-core:84438] [Bug #14231] [Fix GH-1781] From: Andrew Savchenko <bircoph@altlinux.org> hash.c: use uint128_t * hash.c (mult_and_mix): use uint128_t instead of __uint128_t. [ruby-core:84438] [Bug #14231] From: Nobuyoshi Nakada <nobu@ruby-lang.org> ------------------------------------------------------------------------ r62862 | nagachika | 2018-03-20 22:38:19 +0900 (Tue, 20 Mar 2018) | 16 lines merge revision(s) 58438,58439,58451: [Backport #13493] clean autogenerated files * enc/depend (clean, clean-srcs): fix path of name2ctype.h, and remove casefold.h too. * enc/jis/props.h: autogenerated file. [ruby-core:80823] [Bug #13493] use $(srcdir). * Makefile.in (enc/jis/props.h): build it in not builddir, but in srcdir. Ignore enc/jis/props.h ------------------------------------------------------------------------ r62850 | nagachika | 2018-03-20 03:16:42 +0900 (Tue, 20 Mar 2018) | 292 lines merge revision(s) 61562,61563,61566,61568,61569: [Backport #14269] fix SEGV touching uninitialized memory This function can be called from boot_defclass(). No assumption can be made about object internals. (lldb) run Process 2386 launched: './miniruby' (x86_64) Process 2386 stopped * thread #1: tid = 0x13f3b6, 0x00000001001e0b26 miniruby`rb_class_path_cached(klass=4311373720) + 20 at variable.c:321, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8) frame #0: 0x00000001001e0b26 miniruby`rb_class_path_cached(klass=4311373720) + 20 at variable.c:321 318 VALUE 319 rb_class_path_cached(VALUE klass) 320 { -> 321 st_table *ivtbl = RCLASS_IV_TBL(klass); 322 st_data_t n; 323 324 if (!ivtbl) return Qnil; (lldb) bt * thread #1: tid = 0x13f3b6, 0x00000001001e0b26 miniruby`rb_class_path_cached(klass=4311373720) + 20 at variable.c:321, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x8) * frame #0: 0x00000001001e0b26 miniruby`rb_class_path_cached(klass=4311373720) + 20 at variable.c:321 frame #1: 0x000000010009cbd0 miniruby`rb_raw_obj_info(buff="0x0000000100fa5798 [2 ] T_CLASS", buff_size=256, obj=4311373720) + 1393 at gc.c:9341 frame #2: 0x000000010009cf16 miniruby`obj_info(obj=4311373720) + 98 at gc.c:9423 frame #3: 0x000000010008ca87 miniruby`newobj_init(klass=0, flags=66, v1=0, v2=0, v3=0, wb_protected=1, objspace=0x00000001007cf280, obj=4311373720) + 338 at gc.c:1887 frame #4: 0x000000010008cd51 miniruby`newobj_of(klass=0, flags=66, v1=0, v2=0, v3=0, wb_protected=1) + 171 at gc.c:1970 frame #5: 0x000000010008ce1b miniruby`rb_wb_protected_newobj_of(klass=0, flags=66) + 54 at gc.c:1990 frame #6: 0x0000000100027563 miniruby`class_alloc(flags=2, klass=0) + 46 at class.c:165 frame #7: 0x000000010002761a miniruby`rb_class_boot(super=0) + 35 at class.c:203 frame #8: 0x0000000100028612 miniruby`boot_defclass(name="BasicObject", super=0) + 28 at class.c:537 frame #9: 0x000000010002868b miniruby`Init_class_hierarchy + 26 at class.c:548 frame #10: 0x00000001000efe69 miniruby`InitVM_Object + 9 at object.c:3892 frame #11: 0x00000001000f138e miniruby`Init_Object + 57 at object.c:4122 frame #12: 0x00000001000a59bd miniruby`rb_call_inits + 29 at inits.c:23 frame #13: 0x000000010007af30 miniruby`ruby_setup + 229 at eval.c:61 frame #14: 0x000000010007af7e miniruby`ruby_init + 13 at eval.c:78 frame #15: 0x0000000100000c58 miniruby`main(argc=2, argv=0x00007fff5fbfdbf0) + 88 at main.c:41 frame #16: 0x00007fff88eda5ad libdyld.dylib`start + 1 (lldb) fix SEGV touching uninitialized memory This function can be called from InitVM_Object(). No assumption can be made about object internals. (lldb) run Process 10675 launched: './miniruby' (x86_64) Process 10675 stopped * thread #1: tid = 0x14252c, 0x00000001000bdda9 miniruby`rb_raw_obj_info(buff="0x0000000100fc1588 [0 ] T_IMEMO ment", buff_size=256, obj=4311487880) + 2489 at gc.c:9383, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x00000001000bdda9 miniruby`rb_raw_obj_info(buff="0x0000000100fc1588 [0 ] T_IMEMO ment", buff_size=256, obj=4311487880) + 2489 at gc.c:9383 9380 const rb_method_entry_t *me = &RANY(obj)->as.imemo.ment; 9381 snprintf(buff, buff_size, "%s (called_id: %s, type: %s, alias: %d, owner: %s, defined_class: %s)", buff, 9382 rb_id2name(me->called_id), -> 9383 method_type_name(me->def->type), 9384 me->def->alias_count, 9385 obj_info(me->owner), 9386 obj_info(me->defined_class)); (lldb) p *me (rb_method_entry_t) $0 = { flags = 24602 defined_class = 4311488400 def = 0x0000000000000000 called_id = 3057 owner = 4311488400 } (lldb) bt * thread #1: tid = 0x14252c, 0x00000001000bdda9 miniruby`rb_raw_obj_info(buff="0x0000000100fc1588 [0 ] T_IMEMO ment", buff_size=256, obj=4311487880) + 2489 at gc.c:9383, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) * frame #0: 0x00000001000bdda9 miniruby`rb_raw_obj_info(buff="0x0000000100fc1588 [0 ] T_IMEMO ment", buff_size=256, obj=4311487880) + 2489 at gc.c:9383 frame #1: 0x00000001000b7cbf miniruby`obj_info(obj=4311487880) + 95 at gc.c:9423 frame #2: 0x00000001000c16a8 miniruby`newobj_init(klass=4311488400, flags=24602, v1=0, v2=3057, v3=4311488400, wb_protected=1, objspace=0x00000001007ee280, obj=4311487880) + 424 at gc.c:1887 frame #3: 0x00000001000b4529 miniruby`newobj_of(klass=4311488400, flags=24602, v1=0, v2=3057, v3=4311488400, wb_protected=1) + 217 at gc.c:1970 frame #4: 0x00000001000b46ab miniruby`rb_imemo_new(type=imemo_ment, v1=0, v2=3057, v3=4311488400, v0=4311488400) + 75 at gc.c:2017 frame #5: 0x00000001002773b4 miniruby`rb_method_entry_alloc(called_id=3057, owner=4311488400, defined_class=4311488400, def=0x0000000000000000) + 52 at vm_method.c:368 frame #6: 0x0000000100277307 miniruby`rb_method_entry_create(called_id=3057, klass=4311488400, visi=METHOD_VISI_PRIVATE, def=0x0000000000000000) + 71 at vm_method.c:389 frame #7: 0x00000001002784c7 miniruby`rb_method_entry_make(klass=4311488400, mid=3057, defined_class=4311488400, visi=METHOD_VISI_PRIVATE, type=VM_METHOD_TYPE_CFUNC, def=0x0000000000000000, original_id=3057, opts=0x00007fff5fbfd9e8) + 1207 at vm_method.c:594 frame #8: 0x00000001002770f9 miniruby`rb_add_method(klass=4311488400, mid=3057, type=VM_METHOD_TYPE_CFUNC, opts=0x00007fff5fbfd9e8, visi=METHOD_VISI_PRIVATE) + 73 at vm_method.c:650 frame #9: 0x000000010027708a miniruby`rb_add_method_cfunc(klass=4311488400, mid=3057, func=(miniruby`rb_obj_dummy at object.c:1125), argc=0, visi=METHOD_VISI_PRIVATE) + 138 at vm_method.c:137 frame #10: 0x00000001000391e4 miniruby`rb_define_private_method(klass=4311488400, name="initialize", func=(miniruby`rb_obj_dummy at object.c:1125), argc=0) + 68 at class.c:1529 frame #11: 0x000000010013f5bf miniruby`InitVM_Object + 47 at object.c:3905 frame #12: 0x0000000100142ffd miniruby`Init_Object + 61 at object.c:4122 frame #13: 0x00000001000d4edd miniruby`rb_call_inits + 29 at inits.c:23 frame #14: 0x000000010009fe66 miniruby`ruby_setup + 198 at eval.c:61 frame #15: 0x000000010009febd miniruby`ruby_init + 13 at eval.c:78 frame #16: 0x0000000100000a4d miniruby`main(argc=2, argv=0x00007fff5fbfdbf0) + 93 at main.c:41 frame #17: 0x00007fff88eda5ad libdyld.dylib`start + 1 (lldb) fix SEGV touching uninitialized local variable This imemo_name is used uninitialized because the switch above does not cover all possible imemo types. (lldb) run Process 26068 launched: './miniruby' (x86_64) Process 26068 stopped * thread #1: tid = 0x14ba96, 0x00007fff8a402132 libsystem_c.dylib`strlen + 18, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xfffffffffffffff0) frame #0: 0x00007fff8a402132 libsystem_c.dylib`strlen + 18 libsystem_c.dylib`strlen: -> 0x7fff8a402132 <+18>: pcmpeqb (%rdi), %xmm0 0x7fff8a402136 <+22>: pmovmskb %xmm0, %esi 0x7fff8a40213a <+26>: andq $0xf, %rcx 0x7fff8a40213e <+30>: orq $-0x1, %rax (lldb) bt * thread #1: tid = 0x14ba96, 0x00007fff8a402132 libsystem_c.dylib`strlen + 18, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0xfffffffffffffff0) * frame #0: 0x00007fff8a402132 libsystem_c.dylib`strlen + 18 frame #1: 0x00000001001f1531 miniruby`BSD_vfprintf(fp=0x00007fff5fbfc9e0, fmt0="%s %s", ap=0x00007fff5fbfcbf0) + 5873 at vsnprintf.c:1026 frame #2: 0x00000001001ef213 miniruby`ruby_do_vsnprintf(str="0x0000000100f46450 [0 ] T_IMEMO", n=256, fmt="%s %s", ap=0x00007fff5fbfcbf0) + 131 at sprintf.c:1285 frame #3: 0x00000001001ef3ea miniruby`ruby_snprintf(str="0x0000000100f46450 [0 ] T_IMEMO", n=256, fmt="%s %s") + 426 at sprintf.c:1300 frame #4: 0x00000001000bdc61 miniruby`rb_raw_obj_info(buff="0x0000000100f46450 [0 ] T_IMEMO", buff_size=256, obj=4310983760) + 2353 at gc.c:9376 frame #5: 0x00000001000b7bff miniruby`obj_info(obj=4310983760) + 95 at gc.c:9428 frame #6: 0x00000001000c1658 miniruby`newobj_init(klass=0, flags=36890, v1=0, v2=4303040512, v3=4310983800, wb_protected=1, objspace=0x00000001007ee280, obj=4310983760) + 424 at gc.c:1887 frame #7: 0x00000001000b4469 miniruby`newobj_of(klass=0, flags=36890, v1=0, v2=4303040512, v3=4310983800, wb_protected=1) + 217 at gc.c:1970 frame #8: 0x00000001000b45eb miniruby`rb_imemo_new(type=imemo_ast, v1=0, v2=4303040512, v3=4310983800, v0=0) + 75 at gc.c:2017 frame #9: 0x000000010011daed miniruby`rb_ast_new + 61 at node.c:1146 frame #10: 0x0000000100160e15 miniruby`rb_parser_compile_file_path(vparser=4310984400, fname=4310984960, file=4310984080, start=1) + 53 at parse.y:5776 frame #11: 0x00000001001e18ea miniruby`load_file_internal(argp_v=140734799795024) + 1834 at ruby.c:1907 frame #12: 0x00000001000a1bb5 miniruby`rb_ensure(b_proc=(miniruby`load_file_internal at ruby.c:1795), data1=140734799795024, e_proc=(miniruby`restore_load_file at ruby.c:2007), data2=140734799795024) + 245 at eval.c:1037 frame #13: 0x00000001001df4a4 miniruby`load_file(parser=4310984400, fname=4310984960, f=4310984080, script=1, opt=0x00007fff5fbfda28) + 100 at ruby.c:2026 frame #14: 0x00000001001e084e miniruby`process_options(argc=0, argv=0x00007fff5fbfdc00, opt=0x00007fff5fbfda28) + 3454 at ruby.c:1682 frame #15: 0x00000001001dfaae miniruby`ruby_process_options(argc=2, argv=0x00007fff5fbfdbf0) + 238 at ruby.c:2257 frame #16: 0x000000010009ff43 miniruby`ruby_options(argc=2, argv=0x00007fff5fbfdbf0) + 211 at eval.c:105 frame #17: 0x0000000100000989 miniruby`main(argc=2, argv=0x00007fff5fbfdbf0) + 105 at main.c:42 frame #18: 0x00007fff88eda5ad libdyld.dylib`start + 1 (lldb) up 4 frame #4: 0x00000001000bdc61 miniruby`rb_raw_obj_info(buff="0x0000000100f46450 [0 ] T_IMEMO", buff_size=256, obj=4310983760) + 2353 at gc.c:9376 9373 #undef IMEMO_NAME 9374 default: UNREACHABLE; 9375 } -> 9376 snprintf(buff, buff_size, "%s %s", buff, imemo_name); 9377 9378 switch (imemo_type(obj)) { 9379 case imemo_ment: { (lldb) p imemo_name (const char *) $0 = 0xffffffffffffffff (lldb) p imemo_type(obj) (imemo_type) $1 = imemo_ast (lldb) fix SEGV inspecting already freed objects obj_info() assumes the given object is alive. Passing freed objects to it results in SEGV. (lldb) run Process 29718 launched: './miniruby' (x86_64) Process 29718 stopped * thread #1: tid = 0x3082c5, 0x00000001000bfaab miniruby`pathobj_path(pathobj=4478683640) + 70 at vm_core.h:269, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) frame #0: 0x00000001000bfaab miniruby`pathobj_path(pathobj=4478683640) + 70 at vm_core.h:269 266 } 267 else { 268 VM_ASSERT(RB_TYPE_P(pathobj, T_ARRAY)); -> 269 return RARRAY_AREF(pathobj, PATHOBJ_PATH); 270 } 271 } 272 (lldb) bt * thread #1: tid = 0x3082c5, 0x00000001000bfaab miniruby`pathobj_path(pathobj=4478683640) + 70 at vm_core.h:269, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=1, address=0x0) * frame #0: 0x00000001000bfaab miniruby`pathobj_path(pathobj=4478683640) + 70 at vm_core.h:269 frame #1: 0x00000001000c25ff miniruby`rb_iseq_path(iseq=0x000000010af34a20) + 32 at iseq.c:723 frame #2: 0x000000010009db09 miniruby`rb_raw_iseq_info(buff="0x000000010af34a20 [1 ] T_IMEMO iseq", buff_size=256, iseq=0x000000010af34a20) + 69 at gc.c:9274 frame #3: 0x000000010009e45a miniruby`rb_raw_obj_info(buff="0x000000010af34a20 [1 ] T_IMEMO iseq", buff_size=256, obj=4478683680) + 2191 at gc.c:9397 frame #4: 0x000000010009e4d5 miniruby`obj_info(obj=4478683680) + 98 at gc.c:9429 frame #5: 0x0000000100091ae3 miniruby`gc_page_sweep(objspace=0x00000001007d3280, heap=0x00000001007d32a0, sweep_page=0x000000010ae07bc0) + 622 at gc.c:3529 frame #6: 0x000000010009206a miniruby`gc_sweep_step(objspace=0x00000001007d3280, heap=0x00000001007d32a0) + 188 at gc.c:3705 frame #7: 0x0000000100092254 miniruby`gc_sweep_continue(objspace=0x00000001007d3280, heap=0x00000001007d32a0) + 133 at gc.c:3772 frame #8: 0x000000010008d7f9 miniruby`heap_prepare(objspace=0x00000001007d3280, heap=0x00000001007d32a0) + 48 at gc.c:1746 frame #9: 0x000000010008d8a1 miniruby`heap_get_freeobj_from_next_freepage(objspace=0x00000001007d3280, heap=0x00000001007d32a0) + 37 at gc.c:1769 frame #10: 0x000000010008d98d miniruby`heap_get_freeobj(objspace=0x00000001007d3280, heap=0x00000001007d32a0) + 83 at gc.c:1803 frame #11: 0x000000010008dcb0 miniruby`newobj_slowpath(klass=4334386280, flags=5, v1=0, v2=0, v3=0, objspace=0x00000001007d3280, wb_protected=1) + 220 at gc.c:1930 frame #12: 0x000000010008dd6c miniruby`newobj_slowpath_wb_protected(klass=4334386280, flags=5, v1=0, v2=0, v3=0, objspace=0x00000001007d3280) + 76 at gc.c:1942 frame #13: 0x000000010008dea1 miniruby`newobj_of(klass=4334386280, flags=5, v1=0, v2=0, v3=0, wb_protected=1) + 221 at gc.c:1974 frame #14: 0x000000010008df39 miniruby`rb_wb_protected_newobj_of(klass=4334386280, flags=5) + 54 at gc.c:1990 frame #15: 0x0000000100195f7c miniruby`str_alloc(klass=4334386280) + 29 at string.c:692 frame #16: 0x0000000100195fe9 miniruby`str_new0(klass=4334386280, ptr="gitm", len=4, termlen=1) + 73 at string.c:714 frame #17: 0x000000010019633e miniruby`rb_enc_str_new(ptr="gitm", len=4, enc=0x00000001025d50a0) + 81 at string.c:766 frame #18: 0x000000010010a80a miniruby`parser_str_new(p="gitm", n=4, enc=0x00000001025d50a0, func=66, enc0=0x00000001025d50a0) + 50 at parse.y:5817 frame #19: 0x000000010010ce1a miniruby`parser_parse_string(parser=0x00000001042ac5c0, quote=0x000000010460c028) + 795 at parse.y:6675 frame #20: 0x00000001001120bd miniruby`parser_yylex(parser=0x00000001042ac5c0) + 159 at parse.y:8281 frame #21: 0x0000000100115068 miniruby`yylex(lval=0x00007fff5fbf9948, yylloc=0x00007fff5fbf9ab0, parser=0x00000001042ac5c0) + 55 at parse.y:8931 frame #22: 0x00000001000fc79f miniruby`ruby_yyparse(parser=0x00000001042ac5c0) + 1198 at parse.c:5798 frame #23: 0x0000000100109f5a miniruby`yycompile0(arg=4364879296) + 317 at parse.y:5595 frame #24: 0x0000000100214ef0 miniruby`rb_suppress_tracing(func=(miniruby`yycompile0 at parse.y:5565), arg=4364879296) + 349 at vm_trace.c:397 frame #25: 0x000000010010a1df miniruby`yycompile(parser=0x00000001042ac5c0, fname=4443743440, line=1) + 126 at parse.y:5637 frame #26: 0x000000010010a4c1 miniruby`parser_compile_string(vparser=4443743480, fname=4443743440, s=4443743520, line=1) + 191 at parse.y:5706 frame #27: 0x000000010010a5b7 miniruby`rb_parser_compile_string_path(vparser=4443743480, f=4443743440, s=4443743520, line=1) + 58 at parse.y:5730 frame #28: 0x0000000100206025 miniruby`eval_make_iseq(src=4443743520, fname=4443743440, line=1, bind=0x0000000000000000, base_block=0x00007fff5fbfb370) + 266 at vm_eval.c:1274 frame #29: 0x0000000100206153 miniruby`eval_string_with_cref(self=4334412520, src=4443743520, cref=0x0000000000000000, file=52, line=1) + 197 at vm_eval.c:1307 frame #30: 0x0000000100206389 miniruby`rb_f_eval(argc=1, argv=0x0000000102400eb8, self=4334412520) + 219 at vm_eval.c:1382 frame #31: 0x00000001001f247c miniruby`call_cfunc_m1(func=(miniruby`rb_f_eval at vm_eval.c:1364), recv=4334412520, argc=1, argv=0x0000000102400eb8) + 47 at vm_insnhelper.c:1723 frame #32: 0x00000001001f2f87 miniruby`vm_call_cfunc_with_frame(ec=0x00000001007d3548, reg_cfp=0x0000000102500d80, calling=0x00007fff5fbfbf50, ci=0x000000010263f240, cc=0x0000000100749b50) + 386 at vm_insnhelper.c:1918 frame #33: 0x00000001001f30d6 miniruby`vm_call_cfunc(ec=0x00000001007d3548, reg_cfp=0x0000000102500d80, calling=0x00007fff5fbfbf50, ci=0x000000010263f240, cc=0x0000000100749b50) + 149 at vm_insnhelper.c:1934 frame #34: 0x00000001001faf0e miniruby`vm_exec_core(ec=0x00000001007d3548, initial=0) + 8471 at insns.def:915 frame #35: 0x000000010020b75d miniruby`vm_exec(ec=0x00000001007d3548) + 230 at vm.c:1771 frame #36: 0x00000001002093f8 miniruby`invoke_block(ec=0x00000001007d3548, iseq=0x000000010252d7f0, self=4334412520, captured=0x0000000102500df8, cref=0x0000000000000000, type=572653569, opt_pc=0) + 224 at vm.c:988 frame #37: 0x0000000100209766 miniruby`invoke_iseq_block_from_c(ec=0x00000001007d3548, captured=0x0000000102500df8, self=4334412520, argc=0, argv=0x0000000000000000, passed_block_handler=0, cref=0x0000000000000000, is_lambda=0) + 389 at vm.c:1040 frame #38: 0x0000000100209824 miniruby`invoke_block_from_c_bh(ec=0x00000001007d3548, block_handler=4333768185, argc=0, argv=0x0000000000000000, passed_block_handler=0, cref=0x0000000000000000, is_lambda=0, force_blockarg=0) + 138 at vm.c:1058 frame #39: 0x00000001002099d0 miniruby`vm_yield(ec=0x00000001007d3548, argc=0, argv=0x0000000000000000) + 69 at vm.c:1103 frame #40: 0x0000000100205623 miniruby`rb_yield_0(argc=0, argv=0x0000000000000000) + 40 at vm_eval.c:970 frame #41: 0x0000000100205964 miniruby`loop_i + 19 at vm_eval.c:1049 frame #42: 0x000000010007db07 miniruby`rb_rescue2(b_proc=(miniruby`loop_i at vm_eval.c:1047), data1=0, r_proc=(miniruby`loop_stop at vm_eval.c:1056), data2=0) + 369 at eval.c:896 frame #43: 0x0000000100205a2e miniruby`rb_f_loop(self=4334412520) + 121 at vm_eval.c:1100 frame #44: 0x00000001001f24a7 miniruby`call_cfunc_0(func=(miniruby`rb_f_loop at vm_eval.c:1098), recv=4334412520, argc=0, argv=0x0000000102400e80) + 41 at vm_insnhelper.c:1729 frame #45: 0x00000001001f2f87 miniruby`vm_call_cfunc_with_frame(ec=0x00000001007d3548, reg_cfp=0x0000000102500de0, calling=0x00007fff5fbfd4d0, ci=0x000000010263bbf0, cc=0x0000000102642118) + 386 at vm_insnhelper.c:1918 frame #46: 0x00000001001f30d6 miniruby`vm_call_cfunc(ec=0x00000001007d3548, reg_cfp=0x0000000102500de0, calling=0x00007fff5fbfd4d0, ci=0x000000010263bbf0, cc=0x0000000102642118) + 149 at vm_insnhelper.c:1934 frame #47: 0x00000001001f4319 miniruby`vm_call_method_each_type(ec=0x00000001007d3548, cfp=0x0000000102500de0, calling=0x00007fff5fbfd4d0, ci=0x000000010263bbf0, cc=0x0000000102642118) + 239 at vm_insnhelper.c:2232 frame #48: 0x00000001001f4a2c miniruby`vm_call_method(ec=0x00000001007d3548, cfp=0x0000000102500de0, calling=0x00007fff5fbfd4d0, ci=0x000000010263bbf0, cc=0x0000000102642118) + 253 at vm_insnhelper.c:2366 frame #49: 0x00000001001f4b7a miniruby`vm_call_general(ec=0x00000001007d3548, reg_cfp=0x0000000102500de0, calling=0x00007fff5fbfd4d0, ci=0x000000010263bbf0, cc=0x0000000102642118) + 59 at vm_insnhelper.c:2398 frame #50: 0x00000001001fab2f miniruby`vm_exec_core(ec=0x00000001007d3548, initial=0) + 7480 at insns.def:850 frame #51: 0x000000010020b75d miniruby`vm_exec(ec=0x00000001007d3548) + 230 at vm.c:1771 frame #52: 0x000000010020c40f miniruby`rb_iseq_eval_main(iseq=0x000000010252dd90) + 52 at vm.c:2019 frame #53: 0x000000010007c768 miniruby`ruby_exec_internal(n=0x000000010252dd90) + 297 at eval.c:246 frame #54: 0x000000010007c88e miniruby`ruby_exec_node(n=0x000000010252dd90) + 36 at eval.c:310 frame #55: 0x000000010007c861 miniruby`ruby_run_node(n=0x000000010252dd90) + 62 at eval.c:302 frame #56: 0x000000010000138d miniruby`main(argc=2, argv=0x00007fff5fbfdbf0) + 113 at main.c:42 frame #57: 0x00007fff88eda5ad libdyld.dylib`start + 1 (lldb) p ((struct RVALUE*)pathobj)->as.basic (RBasic) $0 = (flags = 0, klass = 4478683600) (lldb) fix SEGV inspecting uninitialized objects obj_info() assumes the given object is alive. OTOH gc_writebarrier_incremental is called before or in middle of object initialization. Can casue SEGV. (lldb) run Process 48188 launched: './miniruby' (x86_64) Process 48188 stopped * thread #1: tid = 0x30fd53, 0x00000001000bf7a9 miniruby`rb_array_const_ptr(a=5251291222225483145) + 12 at ruby.h:2072, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) frame #0: 0x00000001000bf7a9 miniruby`rb_array_const_ptr(a=5251291222225483145) + 12 at ruby.h:2072 2069 static inline const VALUE * 2070 rb_array_const_ptr(VALUE a) 2071 { -> 2072 return FIX_CONST_VALUE_PTR((RBASIC(a)->flags & RARRAY_EMBED_FLAG) ? 2073 RARRAY(a)->as.ary : RARRAY(a)->as.heap.ptr); 2074 } 2075 (lldb) bt * thread #1: tid = 0x30fd53, 0x00000001000bf7a9 miniruby`rb_array_const_ptr(a=5251291222225483145) + 12 at ruby.h:2072, queue = 'com.apple.main-thread', stop reason = EXC_BAD_ACCESS (code=EXC_I386_GPFLT) * frame #0: 0x00000001000bf7a9 miniruby`rb_array_const_ptr(a=5251291222225483145) + 12 at ruby.h:2072 frame #1: 0x00000001000bfaab miniruby`pathobj_path(pathobj=5251291222225483145) + 70 at vm_core.h:269 frame #2: 0x00000001000c25ff miniruby`rb_iseq_path(iseq=0x00000001025b71a8) + 32 at iseq.c:723 frame #3: 0x000000010009db09 miniruby`rb_raw_iseq_info(buff="0x00000001025b7158 [0 ] proc (Proc)", buff_size=256, iseq=0x00000001025b71a8) + 69 at gc.c:9274 frame #4: 0x000000010009e1d5 miniruby`rb_raw_obj_info(buff="0x00000001025b7158 [0 ] proc (Proc)", buff_size=256, obj=4334514520) + 1546 at gc.c:9351 frame #5: 0x000000010009e4d5 miniruby`obj_info(obj=4334514520) + 98 at gc.c:9429 frame #6: 0x0000000100096658 miniruby`gc_writebarrier_incremental(a=4334514520, b=4334514600, objspace=0x00000001007d3280) + 61 at gc.c:5963 frame #7: 0x00000001000968ca miniruby`rb_gc_writebarrier(a=4334514520, b=4334514600) + 127 at gc.c:6009 frame #8: 0x00000001001eabe0 miniruby`rb_obj_written(a=4334514520, oldv=52, b=4334514600, filename="/Users/urabe.shyouhei/data/src/pedantic/vm.c", line=821) + 72 at ruby.h:1472 frame #9: 0x00000001001eac2c miniruby`rb_obj_write(a=4334514520, slot=0x000000010259ff10, b=4334514600, filename="/Users/urabe.shyouhei/data/src/pedantic/vm.c", line=821) + 70 at ruby.h:1489 frame #10: 0x0000000100208b6f miniruby`vm_proc_create_from_captured(klass=4311027960, captured=0x0000000102500338, block_type=block_type_ifunc, is_from_method='\0', is_lambda='\x01') + 137 at vm.c:821 frame #11: 0x0000000100208e5c miniruby`rb_vm_make_proc_lambda(ec=0x00000001007d3548, captured=0x0000000102500338, klass=4311027960, is_lambda='\x01') + 134 at vm.c:892 frame #12: 0x000000010011f08e miniruby`proc_new(klass=4311027960, is_lambda='\x01') + 445 at proc.c:752 frame #13: 0x000000010011f110 miniruby`rb_block_lambda + 27 at proc.c:808 frame #14: 0x00000001001f24a7 miniruby`call_cfunc_0(func=(miniruby`rb_block_lambda at proc.c:807), recv=4310991600, argc=0, argv=0x0000000000000000) + 41 at vm_insnhelper.c:1729 frame #15: 0x00000001002033de miniruby`vm_call0_cfunc_with_frame(ec=0x00000001007d3548, calling=0x00007fff5fbfb080, ci=0x00007fff5fbfb070, cc=0x00007fff5fbfb0a0, argv=0x0000000000000000) + 370 at vm_eval.c:85 frame #16: 0x00000001002034d9 miniruby`vm_call0_cfunc(ec=0x00000001007d3548, calling=0x00007fff5fbfb080, ci=0x00007fff5fbfb070, cc=0x00007fff5fbfb0a0, argv=0x0000000000000000) + 59 at vm_eval.c:100 frame #17: 0x000000010020368f miniruby`vm_call0_body(ec=0x00000001007d3548, calling=0x00007fff5fbfb080, ci=0x00007fff5fbfb070, cc=0x00007fff5fbfb0a0, argv=0x0000000000000000) + 436 at vm_eval.c:131 frame #18: 0x000000010020326a miniruby`vm_call0(ec=0x00000001007d3548, recv=4310991600, id=2993, argc=0, argv=0x0000000000000000, me=0x0000000100f48110) + 142 at vm_eval.c:58 frame #19: 0x0000000100203c60 miniruby`rb_call0(ec=0x00000001007d3548, recv=4310991600, mid=2993, argc=0, argv=0x0000000000000000, scope=CALL_FCALL, self=4334514640) + 166 at vm_eval.c:296 frame #20: 0x0000000100204827 miniruby`rb_call(recv=4310991600, mid=2993, argc=0, argv=0x0000000000000000, scope=CALL_FCALL) + 84 at vm_eval.c:589 frame #21: 0x000000010020518b miniruby`rb_funcallv(recv=4310991600, mid=2993, argc=0, argv=0x0000000000000000) + 52 at vm_eval.c:815 frame #22: 0x000000010012242e miniruby`mlambda(method=0) + 45 at proc.c:2661 frame #23: 0x0000000100205bac miniruby`rb_iterate0(it_proc=(miniruby`mlambda at proc.c:2660), data1=0, ifunc=0x00000001025b71a8, ec=0x00000001007d3548) + 380 at vm_eval.c:1134 frame #24: 0x0000000100205d16 miniruby`rb_iterate(it_proc=(miniruby`mlambda at proc.c:2660), data1=0, bl_proc=(miniruby`bmcall at proc.c:2666), data2=4334514640) + 88 at vm_eval.c:1166 frame #25: 0x00000001001224c7 miniruby`method_to_proc(method=4334514640) + 43 at proc.c:2701 frame #26: 0x00000001001f24a7 miniruby`call_cfunc_0(func=(miniruby`method_to_proc at proc.c:2688), recv=4334514640, argc=0, argv=0x0000000102400568) + 41 at vm_insnhelper.c:1729 frame #27: 0x00000001001f2f87 miniruby`vm_call_cfunc_with_frame(ec=0x00000001007d3548, reg_cfp=0x0000000102500350, calling=0x00007fff5fbfc030, ci=0x0000000100f2ec70, cc=0x0000000102735718) + 386 at vm_insnhelper.c:1918 frame #28: 0x00000001001f30d6 miniruby`vm_call_cfunc(ec=0x00000001007d3548, reg_cfp=0x0000000102500350, calling=0x00007fff5fbfc030, ci=0x0000000100f2ec70, cc=0x0000000102735718) + 149 at vm_insnhelper.c:1934 frame #29: 0x00000001001f4319 miniruby`vm_call_method_each_type(ec=0x00000001007d3548, cfp=0x0000000102500350, calling=0x00007fff5fbfc030, ci=0x0000000100f2ec70, cc=0x0000000102735718) + 239 at vm_insnhelper.c:2232 frame #30: 0x00000001001f49a4 miniruby`vm_call_method(ec=0x00000001007d3548, cfp=0x0000000102500350, calling=0x00007fff5fbfc030, ci=0x0000000100f2ec70, cc=0x0000000102735718) + 117 at vm_insnhelper.c:2355 frame #31: 0x00000001001f4b7a miniruby`vm_call_general(ec=0x00000001007d3548, reg_cfp=0x0000000102500350, calling=0x00007fff5fbfc030, ci=0x0000000100f2ec70, cc=0x0000000102735718) + 59 at vm_insnhelper.c:2398 frame #32: 0x00000001001faf0e miniruby`vm_exec_core(ec=0x00000001007d3548, initial=0) + 8471 at insns.def:915 frame #33: 0x000000010020b75d miniruby`vm_exec(ec=0x00000001007d3548) + 230 at vm.c:1771 frame #34: 0x000000010020c3d1 miniruby`rb_iseq_eval(iseq=0x00000001007f8270) + 52 at vm.c:2008 frame #35: 0x00000001000caa4a miniruby`rb_load_internal0(ec=0x00000001007d3548, fname=4310799960, wrap=0) + 631 at load.c:611 frame #36: 0x00000001000cab36 miniruby`rb_load_internal(fname=4310799960, wrap=0) + 46 at load.c:642 frame #37: 0x00000001000cae1d miniruby`rb_f_load(argc=1, argv=0x00000001024004b8) + 217 at load.c:710 frame #38: 0x00000001001f247c miniruby`call_cfunc_m1(func=(miniruby`rb_f_load at load.c:695), recv=4311327440, argc=1, argv=0x00000001024004b8) + 47 at vm_insnhelper.c:1723 frame #39: 0x00000001001f2f87 miniruby`vm_call_cfunc_with_frame(ec=0x00000001007d3548, reg_cfp=0x00000001025003e0, calling=0x00007fff5fbfd3e0, ci=0x0000000102541070, cc=0x0000000100f9e918) + 386 at vm_insnhelper.c:1918 frame #40: 0x00000001001f30d6 miniruby`vm_call_cfunc(ec=0x00000001007d3548, reg_cfp=0x00000001025003e0, calling=0x00007fff5fbfd3e0, ci=0x0000000102541070, cc=0x0000000100f9e918) + 149 at vm_insnhelper.c:1934 frame #41: 0x00000001001f4319 miniruby`vm_call_method_each_type(ec=0x00000001007d3548, cfp=0x00000001025003e0, calling=0x00007fff5fbfd3e0, ci=0x0000000102541070, cc=0x0000000100f9e918) + 239 at vm_insnhelper.c:2232 frame #42: 0x00000001001f4a2c miniruby`vm_call_method(ec=0x00000001007d3548, cfp=0x00000001025003e0, calling=0x00007fff5fbfd3e0, ci=0x0000000102541070, cc=0x0000000100f9e918) + 253 at vm_insnhelper.c:2366 frame #43: 0x00000001001f4b7a miniruby`vm_call_general(ec=0x00000001007d3548, reg_cfp=0x00000001025003e0, calling=0x00007fff5fbfd3e0, ci=0x0000000102541070, cc=0x0000000100f9e918) + 59 at vm_insnhelper.c:2398 frame #44: 0x00000001001faf0e miniruby`vm_exec_core(ec=0x00000001007d3548, initial=0) + 8471 at insns.def:915 frame #45: 0x000000010020b75d miniruby`vm_exec(ec=0x00000001007d3548) + 230 at vm.c:1771 frame #46: 0x000000010020c40f miniruby`rb_iseq_eval_main(iseq=0x0000000100f21240) + 52 at vm.c:2019 frame #47: 0x000000010007c774 miniruby`ruby_exec_internal(n=0x0000000100f21240) + 297 at eval.c:246 frame #48: 0x000000010007c89a miniruby`ruby_exec_node(n=0x0000000100f21240) + 36 at eval.c:310 frame #49: 0x000000010007c86d miniruby`ruby_run_node(n=0x0000000100f21240) + 62 at eval.c:302 frame #50: 0x0000000100001399 miniruby`main(argc=9, argv=0x00007fff5fbfdae0) + 113 at main.c:42 frame #51: 0x00007fff88eda5ad libdyld.dylib`start + 1 (lldb) ------------------------------------------------------------------------ r62849 | nagachika | 2018-03-20 02:30:19 +0900 (Tue, 20 Mar 2018) | 9 lines merge revision(s) 61413: [Backport #14218] force hash values fixable * include/ruby/ruby.h (RB_ST2FIX): force fixable on LLP64 environment. * hash.c (any_hash): ditto. [ruby-core:84395] [Bug #14218] ------------------------------------------------------------------------ r62848 | nagachika | 2018-03-20 02:13:41 +0900 (Tue, 20 Mar 2018) | 5 lines merge revision(s) 61359: [Backport #14208] raise error if value contains CR/LF in iniheader of initialize_http_header like r59693, initialize_http_header also should raise error. [Bug #14208] ------------------------------------------------------------------------ r62847 | nagachika | 2018-03-20 01:59:47 +0900 (Tue, 20 Mar 2018) | 6 lines merge revision(s) 61346: [Backport #14206] parse.y: end of script at newline * parse.y (parser_yylex): deal with end of script chars just after ignored newline as other places. [ruby-core:84349] [Bug #14206] ------------------------------------------------------------------------ r62846 | nagachika | 2018-03-20 01:27:40 +0900 (Tue, 20 Mar 2018) | 8 lines merge revision(s) 61278,61281: [Backport #13655] IO.new doesn't recive "-" as external_encoding [Bug #13655] [DOC] `IO.new` accepts `external_encoding` Revert part of r61278 [Bug #13655] [ci skip] ------------------------------------------------------------------------ r62845 | nagachika | 2018-03-20 01:22:34 +0900 (Tue, 20 Mar 2018) | 17 lines Update openssl to 2.0.7. [Bug #13935] The patch is provided by Kazuki Yamaguchi. From: Kazuki Yamaguchi <k@rhe.jp> Date: Mon, 25 Sep 2017 01:32:02 +0900 Subject: [PATCH] openssl: import v2.0.7 Import Ruby/OpenSSL 2.0.7. This contains only bug fixes and test improvements. The full commit log since v2.0.5 (imported at r59567, to trunk) can be found at: https://github.com/ruby/openssl/compare/v2.0.5...v2.0.7 All the changes included in this changeset are already imported to trunk by r61235 or earlier revisions. ------------------------------------------------------------------------ r62842 | nagachika | 2018-03-20 00:11:08 +0900 (Tue, 20 Mar 2018) | 17 lines Update rubygems to 2.0.6. [Bug #13935] The patch is provided by Kazuki Yamaguchi. From: Kazuki Yamaguchi <k@rhe.jp> Date: Mon, 25 Sep 2017 01:32:02 +0900 Subject: [PATCH] openssl: import v2.0.6 Import Ruby/OpenSSL 2.0.6. This contains only bug fixes and test improvements. The full commit log since v2.0.5 (imported at r59567, to trunk) can be found at: https://github.com/ruby/openssl/compare/v2.0.5...v2.0.6 All the changes included in this patch are already imported to trunk by r59734, r59751, r59857, and r60013. ------------------------------------------------------------------------ r62804 | nagachika | 2018-03-18 13:03:07 +0900 (Sun, 18 Mar 2018) | 6 lines merge revision(s) 60421: [Backport #14047] win32.c: unknown reparse tags * win32/win32.c (rb_w32_read_reparse_point): skip unknown reparse tags. [ruby-core:83539] [Bug #14047] ------------------------------------------------------------------------ r62803 | nagachika | 2018-03-18 13:00:13 +0900 (Sun, 18 Mar 2018) | 1 line bump up patchlevel to 262 to skip reverted patchlevel. ------------------------------------------------------------------------ r62802 | svn | 2018-03-18 12:57:38 +0900 (Sun, 18 Mar 2018) | 1 line * 2018-03-18 ------------------------------------------------------------------------ r62801 | nagachika | 2018-03-18 12:57:37 +0900 (Sun, 18 Mar 2018) | 2 lines revert r62797, r62784. [Bug #13863] ------------------------------------------------------------------------ r62797 | nagachika | 2018-03-17 23:23:09 +0900 (Sat, 17 Mar 2018) | 22 lines merge revision(s) 57484,58767,58938,59041: [Backport #13863] ruby.c: forbid options * ruby.c (forbid_setid): constified. * ruby.c (process_options): forbid if setid earlier. ruby.c: encode script name * ruby.c (process_options): encode script name to locale encoding instead of associate, if UTF-8 path. ruby.c: file in load_file argument * ruby.c (load_file): move opened file to an argument, to reduce open/close calls in the near future. ruby.c: script name in UTF-8 * ruby.c (process_options): keep script name in UTF-8 if UTF8_PATH to get rid of loss by conversion. ------------------------------------------------------------------------ r62784 | nagachika | 2018-03-17 02:34:44 +0900 (Sat, 17 Mar 2018) | 25 lines merge revision(s) 58745,58780,59040,60743: [Backport #13863] rb_w32_ugetcwd: UTF-8 version getcwd * dir.c (rb_dir_getwd): convert from UTF-8. * win32/win32.c (w32_getcwd): codepage aware getcwd using GetCurrentDirectoryW. potential memory leak * dir.c (rb_dir_getwd): get rid of potential memory leak. * util.c (ruby_getcwd): ditto. file.c: realpath in OS path encoding * dir.c (rb_dir_getwd_ospath): return cwd path in the OS path encoding. * file.c (rb_realpath_internal): work in the OS path encoding load.c: cwd encoding * load.c (rb_get_expanded_load_path): save cwd cache in OS path encoding, to get rid of unnecessary conversion and infinite loading when it needs encoding conversion. [ruby-dev:50221] [Bug #13863] ------------------------------------------------------------------------ r62783 | svn | 2018-03-17 01:41:24 +0900 (Sat, 17 Mar 2018) | 1 line * 2018-03-17 ------------------------------------------------------------------------ r62782 | nagachika | 2018-03-17 01:41:23 +0900 (Sat, 17 Mar 2018) | 12 lines merge revision(s) 60666,60667,60668: [Backport #14082] Fix size on Enumerable#cycle when the size is 0 [Bug #14082]. Patch by Kenichi Kamiya test/ruby/test_lazy_enumerator.rb: test for [Bug #14082] enum.c: check argument first * enum.c (enum_cycle_size): check an argument before the size of the receiver, if it is given. ------------------------------------------------------------------------ r62712 | nagachika | 2018-03-10 11:46:51 +0900 (Sat, 10 Mar 2018) | 12 lines merge revision(s) 60384: [Backport #13887] thread_pthread: do not corrupt stack This fixes stuck test/ruby/test_io.rb with FIBER_USE_NATIVE=0 on GNU/Linux because linked-list pointers used by glibc get corrupted when fiber stacks are copied. Thanks to wanabe for finding the bug and original patch. * thread_pthread (native_thread_init_stack): fix stack corruption [ruby-core:82737] [Bug #13387] ------------------------------------------------------------------------ r62711 | nagachika | 2018-03-10 11:32:56 +0900 (Sat, 10 Mar 2018) | 6 lines merge revision(s) 59963: [Backport #13163] thread.c: report then abort * thread.c (thread_start_func_2): report then abort on exception, if both are set. [ruby-core:79280] [Bug #13163] ------------------------------------------------------------------------ r62694 | nagachika | 2018-03-08 00:10:47 +0900 (Thu, 08 Mar 2018) | 3 lines merge revision(s) 60437: [Backport #14057] TracePoint#enable, #disable: Don't yield any argument. [Bug #14057] ------------------------------------------------------------------------ r62692 | nagachika | 2018-03-07 23:28:31 +0900 (Wed, 07 Mar 2018) | 8 lines merge revision(s) 60294: [Backport #11638] Clarify the behavior of IO.write without offset in write mode. https://github.com/ruby/ruby/pull/1571 Patch by @takanabe [fix GH-1571] [Bug #11638][ruby-core:71277] ------------------------------------------------------------------------ r62691 | nagachika | 2018-03-07 23:26:14 +0900 (Wed, 07 Mar 2018) | 6 lines merge revision(s) 60160: [Backport #13998] parse.y: token info with BOM * parse.y (parser_prepare): set token_info_enabled flag first, before returning at BOM. [ruby-dev:50288] [Bug #13998] ------------------------------------------------------------------------ r62690 | nagachika | 2018-03-07 23:05:38 +0900 (Wed, 07 Mar 2018) | 11 lines merge revision(s) 60055: [Backport #13856] io.c: fix segfault with closing socket on Windows * io.c (fptr_finalize_flush): add an argument to keep GVL. * io.c (fptr_finalize): adjust for above change. * io.c (io_close_fptr): closing without GVL causes another exception while raising exception in another thread. This causes segfault on Windows. Keep GVL while closing when another thread raises. [Bug #13856] [ruby-core:82602] ------------------------------------------------------------------------ r62667 | nagachika | 2018-03-06 01:11:30 +0900 (Tue, 06 Mar 2018) | 22 lines merge revision(s) 60000,60001,60002: [Backport #13925] dup String#partition return value * string.c (rb_str_partition): return duplicated receiver, when no splits. [ruby-core:82911] [Bug#13925] Author: Seiei Miyagi <hanachin@gmail.com> dup String#rpartition return value * string.c (rb_str_rpartition): return duplicated receiver, when no splits. [ruby-core:82911] [Bug#13925] Author: Seiei Miyagi <hanachin@gmail.com> dup String#split return value * string.c (rb_str_split): return duplicated receiver, when no splits. patched by tompng (tomoya ishida) in [ruby-core:82911], and the test case by Seiei Miyagi <hanachin@gmail.com>. [Bug#13925] [Fix GH-1705] ------------------------------------------------------------------------ r62666 | nagachika | 2018-03-06 00:58:01 +0900 (Tue, 06 Mar 2018) | 7 lines merge revision(s) 59970: [Backport #13736] ruby.c: paragraph mode by -00 * ruby.c (proc_options): set to paragraph mode, if -00 is given, as well as perl and -R0 option in 0.49. [ruby-core:81987] [Bug #13736] ------------------------------------------------------------------------ r62665 | nagachika | 2018-03-06 00:42:20 +0900 (Tue, 06 Mar 2018) | 13 lines merge revision(s) 59975: [Backport #13916] process: block/unblock signals around fork As with forking for execve(2) in `spawn', we must block signals to ensure they are handled correctly in a freshly `fork'-ed child. * process.c (retry_fork_ruby): block/unblock signals around fork (rb_fork_ruby): re-enable signals in forked child * test/ruby/test_process.rb (test_forked_child_signal): new test [ruby-core:82883] [Bug #13916] Thanks to Russell Davis for the bug report and test case. ------------------------------------------------------------------------ r62651 | nagachika | 2018-03-04 11:17:58 +0900 (Sun, 04 Mar 2018) | 7 lines merge revision(s) 59956: [Backport #13705] vm.c: fix `cfp consistency error' which occurs when raising exception in bmethod call event * vm.c (invoke_bmethod): set FINISH flag just before calling vm_exec. [ruby-dev:50162] [Bug #13705] ------------------------------------------------------------------------ r62647 | nagachika | 2018-03-04 07:09:20 +0900 (Sun, 04 Mar 2018) | 12 lines merge revision(s) 59602,59887: [Backport #13816] High Sierra's APFS cannot use invalid filenames [Bug #13816] added workaround for APFS file format. * TestFileExhaustive#test_atime: It fails with nano-sec precise. I changed to use unixtime for this assertion for APFS. * TestFileExhaustive#test_expand_path: skip assertion when given invalid charactor on APFS. [Bug #13816][ruby-core:82383] ------------------------------------------------------------------------ r62646 | nagachika | 2018-03-04 07:04:49 +0900 (Sun, 04 Mar 2018) | 16 lines merge revision(s) 58431,58447: [Backport #13489] test_framework.rb: for case-sensitive filesystem * test/mkmf/test_framework.rb (test_single_framework): fix header file name for case-sensitive filesystem. it may not be same as the framework name, but should be the actual file name. [ruby-dev:50093] [Bug #13489] * test/mkmf/test_framework.rb (test_multi_frameworks): ditto. test_file_exhaustive.rb: check case-sensitive fs * test/ruby/test_file_exhaustive.rb (test_expand_path): dump expanded file name, not only appended char, for case-sensitive filesystem. [ruby-dev:50093] [Bug #13489] ------------------------------------------------------------------------ r62645 | nagachika | 2018-03-04 06:54:45 +0900 (Sun, 04 Mar 2018) | 5 lines merge revision(s) 59867: [Backport #13894] test/win32ole/test_word.rb: word quit without confirmation dialog to save files. [Bug #13894] Thanks to h.shirosaki. ------------------------------------------------------------------------ r62640 | nagachika | 2018-03-03 11:39:47 +0900 (Sat, 03 Mar 2018) | 5 lines merge revision(s) 59893,59922: [Backport #13895] fix the case High Sierra's mincore(2) may return -128 [Bug #13895] Fix typos [ci skip] ------------------------------------------------------------------------ r62639 | nagachika | 2018-03-03 11:25:41 +0900 (Sat, 03 Mar 2018) | 10 lines merge revision(s) 58769,59710,59712: [Backport #13566] Treat NULL reference case [Bug #13566] Fix C level backtrace on Darwin SEGV caused by invalid instruction call. skip unless PLATFORM is darwin. ------------------------------------------------------------------------ r62638 | nagachika | 2018-03-03 11:07:18 +0900 (Sat, 03 Mar 2018) | 15 lines merge revision(s) 57597,57951: [Backport #13232] bigdecimal: version 1.3.1 Import bigdecimal version 1.3.1. The full commit log is here: https://github.com/ruby/bigdecimal/compare/v1.3.0...v1.3.1 bigdecimal: version 1.3.2 Import bigdecimal version 1.3.2. The full commit log is here: https://github.com/ruby/bigdecimal/compare/v1.3.1...v1.3.2 This fixes [ruby-core:79603] [Bug #13232] ------------------------------------------------------------------------ r62636 | nagachika | 2018-03-02 21:59:11 +0900 (Fri, 02 Mar 2018) | 9 lines merge revision(s) 59454,59954: [Backport #14118] configure.in: use libtool * configure.in: use libtool on macOS to suppress a warning against debug_counter.o, which has no symbols unless USE_DEBUG_COUNTER is set to non-zero. configure.in: use newer libtool only ------------------------------------------------------------------------ r62634 | nagachika | 2018-03-02 21:45:41 +0900 (Fri, 02 Mar 2018) | 12 lines merge revision(s) 62506,62508: [Backport #14438] test_time_tz.rb: past Japanese DST tzdata fix * test/ruby/test_time_tz.rb (TestTimeTZ#test_asia_tokyo): follow the tzdata 2018 fix of Japanese DST transitions (1948-1951). [ruby-core:85373] [Bug #14438] test_time_tz.rb: past Japanese DST tzdata fix * test/ruby/test_time_tz.rb (TestTimeTZ#test_asia_tokyo): fix the expected data at the end of DST. [Bug #14438] ------------------------------------------------------------------------ r62444 | nagachika | 2018-02-17 01:40:57 +0900 (Sat, 17 Feb 2018) | 14 lines merge revision(s) 57733,57734: [Backport #13782] kwrest arg name * compile.c (iseq_set_arguments_keywords): make keyword rest argument name nd_vid consistently, regardless of whether other keyword arguments are present. [Fix GH-1529] * parse.y (new_args_tail_gen): ditto. fix nd_ainfo->kw_rest_arg [Fix GH-5129] Author: fate0 <fate0@users.noreply.github.com> ------------------------------------------------------------------------ r62440 | nagachika | 2018-02-17 01:25:40 +0900 (Sat, 17 Feb 2018) | 13 lines merge revision(s) 59983,59984: [Backport #10222] [Backport #14372] [Backport #14424] file.c: rb_check_realpath * file.c (rb_check_realpath): returns real path which has no symbolic links. similar to rb_realpath except for returning Qnil if any parts did not exist. load.c: real path to load * load.c (rb_construct_expanded_load_path): expand load paths to real paths to get rid of duplicate loading from symbolic-linked directories. [Feature #10222] ------------------------------------------------------------------------ r62438 | nagachika | 2018-02-17 01:10:17 +0900 (Sat, 17 Feb 2018) | 6 lines merge revision(s) 62436: [Backport #14481] fix regexp literal warning. test/rubygems/test_gem_server.rb: eliminate duplicated character class warning. [Bug #14481] ------------------------------------------------------------------------ r62435 | nagachika | 2018-02-17 00:27:37 +0900 (Sat, 17 Feb 2018) | 13 lines merge revision(s) 58471,58493: [Backport #13505] load.c: backtrace of circular require * load.c (load_lock): print backtrace of circular require via `Warning.warn` [ruby-core:80850] [Bug #13505] Send the backtrace of the circular require warning as a single String to Warning.warn * load.c: send as a single string. * error.c: expose the string formatted by rb_warning as rb_warning_string(). * test/ruby/test_exception.rb: update tests. [ruby-core:80850] [Bug #13505] ------------------------------------------------------------------------ r62434 | nagachika | 2018-02-16 23:58:30 +0900 (Fri, 16 Feb 2018) | 7 lines merge revision(s) 62422: [Backport #14481] Merge RubyGems 2.7.6 from upstream. It fixed some security vulnerabilities. http://blog.rubygems.org/2018/02/15/2.7.6-released.html ------------------------------------------------------------------------ r62234 | nagachika | 2018-02-05 23:21:12 +0900 (Mon, 05 Feb 2018) | 8 lines merge revision(s) 61484: [Backport #14232] vm_method.c: fix super in refined module * vm_method.c (rb_method_entry_complement_defined_class): clone the original method entry of refined module instance method with the active ICLASS, to track super method chain. [ruby-dev:50390] [Bug #14232] ------------------------------------------------------------------------ r62233 | nagachika | 2018-02-05 23:05:52 +0900 (Mon, 05 Feb 2018) | 13 lines merge revision(s) 60980,60984: [Backport #14070] Modules should not have subclasses. When refining a module, the module was set to the superclass of its refinement, and a segmentation fault occurred. The superclass of the refinement should be an iclass of the module. [ruby-core:83617] [Bug #14070] The superclass of a refinement should have BasicObject as its ancestor. Otherwise, VM_ASSERT(callable_method_entry_p(cme)) in prepare_callable_method_entry() fails if VM_CHECK_MODE is 2. ------------------------------------------------------------------------ r62185 | nagachika | 2018-02-04 09:39:24 +0900 (Sun, 04 Feb 2018) | 28 lines merge revision(s) 61149,61150,61151,61167: [Backport #14162] irb.rb: preserve ARGV on binding.irb This is not perfectly good solution (at least we don't want to have ARGV as default value of `argv` argument), but unfortunately IRB.setup and IRB.parse_opts are public methods and we can't make breaking change to those methods. We may deprecate using them and then make them private in the future, but the removal should not be in Ruby 2.5. So I kept their interface for now. [Bug #14162] [close GH-1770] * properties. irb/init.rb: make sure ARGV refers to toplevel one irb/test_init.rb: add test to ensure $0 is not changed. At first `ARGV.unshift('something')` was suggested for r61149, but it wasn't sufficient because it modifies $0. Not only to preserve ARGV, but also r61149 intends to preserve $0. This test prevents future breakage of the behavior. ------------------------------------------------------------------------ r62174 | nagachika | 2018-02-03 11:51:00 +0900 (Sat, 03 Feb 2018) | 6 lines merge revision(s) 60213: [Backport #14032] parse.y: indent at '#' * parse.y (parser_here_document): update indent at '#', which is not a space. [ruby-core:83368] [Bug #14032] ------------------------------------------------------------------------ r62173 | nagachika | 2018-02-03 11:39:42 +0900 (Sat, 03 Feb 2018) | 12 lines merge revision(s) 60040,60188: [Backport #14014] complex.c: no overflow * complex.c (rb_complex_finite_p): get rid of overflow and unnecessary multiplication. test_complex.rb: NaN Complex * test/ruby/test_complex.rb (test_finite_p): assertions for NaN Complex. NaN is not an infinite nor a finite number. [ruby-core:83272] [Bug #14014] ------------------------------------------------------------------------ r62172 | nagachika | 2018-02-03 11:25:37 +0900 (Sat, 03 Feb 2018) | 14 lines merge revision(s) 60042,60130,60131: [Backport #13982] ext: adjust indent [ci skip] zlib.c: memory leak in gunzip * ext/zlib/zlib.c (zlib_gunzip): clear zstream to fix memory leak. [ruby-core:83162] [Bug #13982] zlib.c: ensure to free * ext/zlib/zlib.c (zlib_gunzip): gz0 is a structure variable on the stack, no longer valid after exit by an exception. ensure to free instead. [Bug #13982] ------------------------------------------------------------------------ r62171 | nagachika | 2018-02-03 11:05:17 +0900 (Sat, 03 Feb 2018) | 7 lines merge revision(s) 59986: [Backport #13928] numeric.c: use NUM2DBL * numeric.c (fix_fdiv_double), bignum.c (rb_big_fdiv_double): use NUM2DBL on unknown object. RFLOAT_VALUE is only appliicable to T_FLOAT object. [ruby-core:82924] [Bug #13928] ------------------------------------------------------------------------ r61854 | nagachika | 2018-01-15 22:27:28 +0900 (Mon, 15 Jan 2018) | 8 lines merge revision(s) 60079: [Backport #13794] thread_pthread.c: do not wakeup inside child processes * thread_pthread.c (rb_thread_wakeup_timer_thread): check ownership before incrementing (rb_thread_wakeup_timer_thread_low): ditto [Bug #13794] [ruby-core:83064] ------------------------------------------------------------------------ r61456 | nagachika | 2017-12-25 05:06:32 +0900 (Mon, 25 Dec 2017) | 5 lines merge revision(s) 60071: [Backport #13953] [Backport #13954] [Backport #13955] [Backport #13957] ext: check if null byte is contained [ruby-dev:50267] [Bug #13953] ------------------------------------------------------------------------ r61455 | nagachika | 2017-12-25 04:14:30 +0900 (Mon, 25 Dec 2017) | 7 lines merge revision(s) 60066: [Backport #13952] string.c: fix ASCII-only on succ * string.c (str_succ): clear coderange cache when no alpha-numeric character case, carried part may become ASCII-only. [ruby-core:83062] [Bug #13952] ------------------------------------------------------------------------ r61454 | nagachika | 2017-12-25 03:59:53 +0900 (Mon, 25 Dec 2017) | 6 lines merge revision(s) 60059: [Backport #13949] pack.c: unpack "M" may be ASCII only * pack.c (pack_unpack_internal): set ASCII only properly on "M", may be ASCII only. [ruby-core:83055] [Bug #13949] ------------------------------------------------------------------------ r61453 | nagachika | 2017-12-25 03:46:48 +0900 (Mon, 25 Dec 2017) | 6 lines merge revision(s) 60060: [Backport #13950] string.c: ASCII-incompatible is not ASCII only * string.c (tr_trans): ASCII-incompatible encoding strings cannot be ASCII-only even if valid. [ruby-core:83056] [Bug #13950] ------------------------------------------------------------------------ r61440 | nagachika | 2017-12-24 12:01:35 +0900 (Sun, 24 Dec 2017) | 7 lines merge revision(s) 60024: [Backport #13945] vm.c: fetch retval iff necessary * vm.c (rb_vm_make_jump_tag_but_local_jump): get rid of fetching retval when it is not used. it is necessary for local jump state only. ------------------------------------------------------------------------ r61439 | nagachika | 2017-12-24 11:45:07 +0900 (Sun, 24 Dec 2017) | 13 lines merge revision(s) 60099,60100: [Backport #13964] compile.c: fix stack consitency error * compile.c (iseq_compile_each0): fix stack consitency error on attr-assign with safe navigation operator when the receiver is nil, should pop it too. [ruby-core:83078] [Bug #13964] test_call.rb: refine test_safe_call * test/ruby/test_call.rb (test_safe_call): rhs should not be evaluated when the receiver is nil. simplified the assertion for [Bug #13964]. ------------------------------------------------------------------------ r61436 | nagachika | 2017-12-24 11:29:19 +0900 (Sun, 24 Dec 2017) | 14 lines merge revision(s) 59444,59445: [Backport #13776] adjust indent [ci skip] * vm_insnhelper.c (vm_call_method_each_type): adjust indent of a block in switch. visibility of inherited method * vm_insnhelper.c (vm_call_method_each_type): honor the original visibility of inherited methods when a refinement is defined but not activated. [ruby-core:82209] [Bug #13776] Author: Mon_Ouie (Mon ouie) <mon.ouie@gmail.com> ------------------------------------------------------------------------ r61414 | nagachika | 2017-12-22 20:43:00 +0900 (Fri, 22 Dec 2017) | 8 lines merge revision(s) 57971: [Backport #13305] Fix a consistency bug of ISEQ_COVERAGE [Bug #13305] There is an invariant that ISEQ_COVERAGE(iseq) must be Qnil if and only if option->coverage_enabled is false. This invariant was broken by NODE_PRELUDE which updates option->coverage_enabled but not ISEQ_COVERAGE(iseq). ------------------------------------------------------------------------ r61373 | nagachika | 2017-12-21 00:59:14 +0900 (Thu, 21 Dec 2017) | 3 lines merge revision(s) 60021: [Backport #13926] HTTPHeader#add_field should allow binary [Bug #13926] ------------------------------------------------------------------------ r61370 | nagachika | 2017-12-21 00:34:37 +0900 (Thu, 21 Dec 2017) | 18 lines merge revision(s) 58410,58411: [Backport #13487] ri.1: rewrite ri man page * man/ri.1: update the (very outdated) ri man page: * update document date * fix document title formatting and volume name * update descriptions and options to current ri --help text * fix some mdoc formatting errors (missing escaping of `\', wrong macro for bullet list items) * various rewordings and other improvements improve man pages * man/ruby.1, man/erb.1, man/goruby.1, man/irb.1: fix document title formatting and volume name, improve "REPORTING BUGS" section: fix mdoc formatting error (wrong macro for bullet list items), small rewordings. ------------------------------------------------------------------------ r61369 | nagachika | 2017-12-21 00:31:18 +0900 (Thu, 21 Dec 2017) | 6 lines merge revision(s) 59372: [Backport #13649] lib/net/imap.rb: Ignore trailing space for Microsoft Exchange Server Based on the patch by keysen (Jeremy Carlier). [ruby-core:81641] [Bug #13649] ------------------------------------------------------------------------ r61368 | nagachika | 2017-12-21 00:21:56 +0900 (Thu, 21 Dec 2017) | 7 lines merge revision(s) 58208: [Backport #13386] Add documents on Process::CLOCK_* constants * process.c: Add documents on Process::CLOCK_* constants. Patch by Sunao Komuro <sunao-komuro@cookpad.com>. Closes [GH-1567] [Bug #13386] ------------------------------------------------------------------------ r61367 | nagachika | 2017-12-21 00:20:15 +0900 (Thu, 21 Dec 2017) | 27 lines merge revision(s) 58146,58150,58156: [Backport #13276] error.c: refactor warning messages * error.c (with_warning_string): extract building warning message string from variadic arguments. * error.c (syserr_warning): write warning message with the system error message. error.c: warning functions * error.c: define warning functions in all combinations of * no errno, system errno, argument * without/with encoding * enabled/disabled by default dir.c: err at glob failure * dir.c (glob_helper): raise a SystemCallError exception when opendir() failed, except for ENOENT, ENOTDIR, and EACCES. this behavior predates 1.0; the comments in glob.c claimed that glob() returned -1 on error but actualy the pointer to a global variable, then dir_glob() did check only -1 as the comments, and ignored actual errors. [ruby-core:80226] [Bug #13276] dir.c: ruby_glob_funcs_t ------------------------------------------------------------------------ r61366 | nagachika | 2017-12-20 23:58:57 +0900 (Wed, 20 Dec 2017) | 8 lines merge revision(s) 58409: [Backport #10838] ri.1: fix errors in ri man page * man/ri.1: fix some errors in ri man page (add missing options, remove options that do not exist, fix formatter list). Reported by Josh Cheek. [ruby-core:68065] [Bug #10838] ------------------------------------------------------------------------ r61365 | nagachika | 2017-12-20 23:57:44 +0900 (Wed, 20 Dec 2017) | 9 lines merge revision(s) 58020: [Backport #10936] date_core.c: fix error in DateTime docs * ext/date/date_core.c: [DOC] fix format string for DateTime#rfc3339. Reported by Andreas Rayo Kniep. [ruby-core:68418] [Bug #10936] * ext/date/date_core.c: [DOC] ditto for DateTime#iso8601 and DateTime#xmlschema; other small improvements. ------------------------------------------------------------------------ r61364 | nagachika | 2017-12-20 23:56:48 +0900 (Wed, 20 Dec 2017) | 19 lines merge revision(s) 57887: [Backport #13159] lib/ostruct.rb: [DOC] revise docs for OpenStruct * update paragraph on implementation: define_singleton_method is used, not define_method * add call-seq with return values for each_pair * adopt description of dig from Array and Hash * fix description of the hash method * :nodoc: initialize_copy, respond_to_missing? * other small improvements, e.g. use the term `attribute' in the docs (instead of `member'), which is clearer for users of the class * improve code examples: e.g. use more consistent style (always use double quotes, drop `p' and `puts', ...), update inspect output, use example data that is not prone to change (like population) * add more code examples * fix some small errors and grammar [ruby-core:79265] [Bug #13159] ------------------------------------------------------------------------ r61363 | nagachika | 2017-12-20 23:55:34 +0900 (Wed, 20 Dec 2017) | 10 lines merge revision(s) 57686: [Backport #13233] rational.c: fix rdoc * rational.c: [DOC] fix wrong indentations and comment out some lines in code examples to make them valid Ruby code and syntax highlighted on the rendered page. [ci skip] [ruby-core:79607] [Bug #13233] Author: Marcus Stollsteimer <sto.mar@web.de> ------------------------------------------------------------------------ r61362 | nagachika | 2017-12-20 23:54:56 +0900 (Wed, 20 Dec 2017) | 11 lines merge revision(s) 57536: [Backport #13192] doc: Add example for Symbol#to_s * string.c: add example for Symbol#to_s. The docs for Symbol#to_s only include an example for Symbol#id2name, but not for #to_s which is an alias; the docs should include examples for both methods. From: Marcus Stollsteimer <sto.mar@web.de> ------------------------------------------------------------------------ r61361 | nagachika | 2017-12-20 23:53:56 +0900 (Wed, 20 Dec 2017) | 11 lines merge revision(s) 57649,57651: [Backport #13222] array.c: finish_exact_sum * array.c (finish_exact_sum): extract duplicate code from rb_ary_sum. array.c: check if numeric * array.c (finish_exact_sum): add 0 and the initial value to check if the latter is numeric. [ruby-core:79572] [Bug #13222] ------------------------------------------------------------------------ r61358 | nagachika | 2017-12-20 20:54:58 +0900 (Wed, 20 Dec 2017) | 7 lines merge revision(s) 60182: [Backport #14009] configure.ac: link Foundation framework * configure.ac (XLDFLAGS): link against Foundation framework and let __NSPlaceholderDictionary initialize, to get rid of crash after fork on macOS High Sierra. [ruby-core:83239] [Bug #14009] ------------------------------------------------------------------------ r61328 | nagachika | 2017-12-19 01:52:19 +0900 (Tue, 19 Dec 2017) | 6 lines merge revision(s) 59748: [Backport #14073] st.c: fix num_entries * st.c (st_insert2): should manage num_entries when the key is undefined, as well as st_insert(). ------------------------------------------------------------------------ r61293 | nagachika | 2017-12-16 10:50:26 +0900 (Sat, 16 Dec 2017) | 1 line bump up teeny version to 2.4.4. ------------------------------------------------------------------------ r61245 | nagachika | 2017-12-14 22:51:34 +0900 (Thu, 14 Dec 2017) | 3 lines merge revision(s) 61242: [Backport #14185] Fix a command injection vulnerability in Net::FTP. ------------------------------------------------------------------------ r61239 | nagachika | 2017-12-14 22:31:41 +0900 (Thu, 14 Dec 2017) | 69 lines merge revision(s) 60123,60172,60189,60208,60210,60211: [Backport #14005] webrick: avoid unnecessary IO#sync= call Sockets and pipes are always created with FMODE_SYNC flag already set (otherwise many things would be broken). * lib/webrick/server.rb (accept_client): remove unnecessary IO#sync= call webrick: do not hang acceptor on slow TLS connections OpenSSL::SSL::SSLSocket#accept may block indefinitely on clients which negotiate the TCP connection, but fail (or are slow) to negotiate the subsequent TLS handshake. This prevents the multi-threaded WEBrick server from accepting other connections. Since the TLS handshake (via OpenSSL::SSL::SSLSocket#accept) consists of normal read/write traffic over TCP, handle it in the per-client thread, instead. Furthermore, using non-blocking accept() is useful for non-TLS sockets anyways because spurious wakeups are possible from select(2). * lib/webrick/server.rb (accept_client): use TCPServer#accept_nonblock and remove OpenSSL::SSL::SSLSocket#accept call * lib/webrick/server.rb (start_thread): call OpenSSL::SSL::SSLSocket#accept * test/webrick/test_ssl_server.rb (test_slow_connect): new test [ruby-core:83221] [Bug #14005] webrick: fix up r60172 By making the socket non-blocking in r60172, TLS/SSL negotiation via the SSL_accept function must handle non-blocking sockets properly and retry on SSL_ERROR_WANT_READ/SSL_ERROR_WANT_WRITE. OpenSSL::SSL::SSLSocket#accept cannot do that properly with a non-blocking socket, so it must use non-blocking logic of OpenSSL::SSL::SSLSocket#accept_nonblock. Thanks to MSP-Greg (Greg L) for finding this. * lib/webrick/server.rb (start_thread): use SSL_accept properly with non-blocking socket. [Bug #14013] [Bug #14005] webrick: fix up r60172 and revert r60189 Thanks to MSP-Greg (Greg L) for helping with this. * lib/webrick/server.rb (start_thread): ignore ECONNRESET, ECONNABORTED, EPROTO, and EINVAL on TLS negotiation errors the same way they were ignored before r60172 in the accept_client method of the main acceptor thread. [Bug #14013] [Bug #14005] webrick: fix up r60172 and r60208 Thanks to MSP-Greg (Greg L) for helping with this. * lib/webrick/server.rb (start_thread): fix non-local return introduced in r60208 webrick: fix up r60172 and r60210 Thanks to MSP-Greg (Greg L) for helping with this. * lib/webrick/server.rb (start_thread): properly fix non-local return introduced in r60208 and r60210 ------------------------------------------------------------------------ r61238 | nagachika | 2017-12-14 22:14:12 +0900 (Thu, 14 Dec 2017) | 15 lines merge revision(s) 61197: [Backport #14184] webrick: compile RE correctly for beginning and end match Using ^ and $ in regexps means we can accidentally get fooled by "%0a" in HTTP request paths being decoded to newline characters. Use \A and \z to match beginning and end-of-string respectively, instead. Thanks to mame and hsbt for reporting. * lib/webrick/httpserver.rb (MountTable#compile): use \A and \z instead of ^ and $ * lib/webrick/httpserver.rb (MountTable#normalize): use \z instead of $ * test/webrick/test_httpserver.rb (test_cntrl_in_path): new test ------------------------------------------------------------------------ r60626 | nagachika | 2017-11-03 10:46:59 +0900 (Fri, 03 Nov 2017) | 8 lines merge revision(s) 58499,58500: [Backport #13181] parse.y: fix line in rescue * parse.y (set_line_body, primary): fix line number of bodystmt as the beginning of the block. [ruby-core:79388] [Bug #13181] parse.y: set_line_body is not used in ripper ------------------------------------------------------------------------ r60168 | nagachika | 2017-10-11 22:48:14 +0900 (Wed, 11 Oct 2017) | 5 lines merge revision(s) 60149: [Backport #14003] Merge rubygems-2.6.14 changes. It fixed http://blog.rubygems.org/2017/10/09/unsafe-object-deserialization-vulnerability.html ------------------------------------------------------------------------ r59914 | nagachika | 2017-09-15 07:22:39 +0900 (Fri, 15 Sep 2017) | 10 lines merge revision(s) 58254: [Backport #13402] fix --with-gmp (broken by r57490) Looking at the generated shell script (also the autoconf manual), it seems AC_SEARCH_LIBS() m4 macro does not define HAVE_LIBsomething C preprocessor macros, unlike AC_CHECK_LIB() which does define them. This previous change effectively killed building with GMP because building that mode depends on existence of HAVE_LIBGMP. [Bug #13402] ------------------------------------------------------------------------ r59913 | nagachika | 2017-09-15 07:21:51 +0900 (Fri, 15 Sep 2017) | 1 line bump up teeny version to 2.4.3. ------------------------------------------------------------------------ r59898 | nagachika | 2017-09-14 20:24:10 +0900 (Thu, 14 Sep 2017) | 6 lines merge revision(s) 59897: lib/webrick/log.rb: sanitize any type of logs It had failed to sanitize some type of exception messages. Reported and patched by Yusuke Endoh (mame) at https://hackerone.com/reports/223363 ------------------------------------------------------------------------ r59841 | nagachika | 2017-09-12 02:27:01 +0900 (Tue, 12 Sep 2017) | 7 lines merge revision(s) 59375: [Backport #13756] parse.y: empty hash in defined * parse.y (command): NODE_ARRAY with NULL is invalid. traversal in defined_expr0 is simplified than iseq_compile_each0. [ruby-core:82113] [Bug #13756] ------------------------------------------------------------------------ r59823 | nagachika | 2017-09-10 21:33:09 +0900 (Sun, 10 Sep 2017) | 6 lines merge revision(s) 59765: [Backport #13877] ruby.h: unnormalized Fixnum value * include/ruby/ruby.h (ST2FIX): fix unnormalized Fixnum value bug on mingw/mswin. [ruby-core:82687] [Bug #13877] ------------------------------------------------------------------------ r59822 | nagachika | 2017-09-10 21:17:49 +0900 (Sun, 10 Sep 2017) | 7 lines merge revision(s) 59763: [Backport #13874] string.c: fix false coderange * string.c (rb_enc_str_scrub): enc can differ from the actual encoding of the string, the cached coderange is useless then. [ruby-core:82674] [Bug #13874] ------------------------------------------------------------------------ r59820 | nagachika | 2017-09-10 19:27:59 +0900 (Sun, 10 Sep 2017) | 6 lines merge revision(s) 59644: [Backport #13836] parse.y: primary should not be 0 * parse.y (primary): should not be 0, since it can be a receiver. [ruby-core:82447] [Bug #13836] ------------------------------------------------------------------------ r59819 | nagachika | 2017-09-10 19:10:28 +0900 (Sun, 10 Sep 2017) | 7 lines merge revision(s) 59613: [Backport #13817] vm_method.c: alias warning at refined method * vm_method.c (rb_method_entry_make): suppress a warning at refined method which will not be redefined. [ruby-core:82385] [Bug #13817] ------------------------------------------------------------------------ r59818 | nagachika | 2017-09-10 15:15:05 +0900 (Sun, 10 Sep 2017) | 2 lines revert r59813 partially. TestGemRequire#test_realworld_default_gem is not contained in trunk. I would like to sync rubygems on ruby_2_4 branch to trunk ------------------------------------------------------------------------ r59817 | nagachika | 2017-09-10 15:03:12 +0900 (Sun, 10 Sep 2017) | 6 lines merge revision(s) 59649: [Backport #13832] gc.c: restore cfp at finalizer * gc.c (run_finalizer): restore cfp for the case an exception raised in a finalizer. [ruby-core:82432] [Bug #13832] ------------------------------------------------------------------------ r59816 | nagachika | 2017-09-10 14:44:27 +0900 (Sun, 10 Sep 2017) | 1 line revert r59815 partially. ------------------------------------------------------------------------ r59815 | nagachika | 2017-09-10 14:36:09 +0900 (Sun, 10 Sep 2017) | 1 line bump up RUBY_PATCHLEVEL ------------------------------------------------------------------------ r59814 | nagachika | 2017-09-10 14:23:13 +0900 (Sun, 10 Sep 2017) | 3 lines lib/rubygems: fix several vulnerabilities in RubyGems; bump to version 2.6.13. [Backport #13842] ------------------------------------------------------------------------ r59813 | nagachika | 2017-09-10 14:10:55 +0900 (Sun, 10 Sep 2017) | 2 lines lib/rubygems: bump up RubyGems version to 2.6.12. [Backport #13842] ------------------------------------------------------------------------ r59812 | nagachika | 2017-09-10 13:53:58 +0900 (Sun, 10 Sep 2017) | 6 lines merge revision(s) 59708: [Backport #13844] compile.c: ensure after toplevel return * compile.c (iseq_compile_each0): toplevel returns should fire ensures. [ruby-core:82492] [Bug #13844] ------------------------------------------------------------------------ r59811 | nagachika | 2017-09-10 12:49:10 +0900 (Sun, 10 Sep 2017) | 15 lines merge revision(s) 59624,59626: [Backport #13830] ruby.h: fix rb_scan_args_trail_idx * include/ruby/ruby.h (rb_scan_args_trail_idx): fix the case both of optional and rest arguments are defined. [ruby-core:82427] [Bug #13830] * include/ruby/ruby.h (rb_scan_args_n_trail): ditto. non-keywords hash * class.c (rb_scan_args), include/ruby/ruby.h (rb_scan_args_set): return non-keywords elements only in the last hash when keyword arguments are extracted from it, as well as methods defined in ruby level. [ruby-core:82427] [Bug #13830] ------------------------------------------------------------------------ r59809 | nagachika | 2017-09-10 11:58:23 +0900 (Sun, 10 Sep 2017) | 14 lines merge revision(s) 59322,59325: [Backport #13744] process.c: handle dynamic :rlimit_* symbols in spawn execopts * process.c (rb_execarg_addopt_rlimit): hoist out of rb_execarg_addopt (rlimit_type_by_sym): new wrapper for dynamic symbol (rb_execarg_addopt): check for dsym via rlimit_type_by_sym * test/ruby/test_process.rb (test_execopts_rlimit): check dsym w/o pindown Add extra check for bogus rlimit args, too. [ruby-core:82033] [Bug #13744] process.c: null bytes * process.c (rlimit_type_by_sym): prohibit null bytes in key names. [ruby-core:82033] [Bug #13744] ------------------------------------------------------------------------ r59808 | nagachika | 2017-09-10 11:46:34 +0900 (Sun, 10 Sep 2017) | 7 lines merge revision(s) 57944,57977,58062: [Backport #13306] io.c: [DOC] IO#puts uses IO#write io.c: [DOC] add missing `$` io.c: [DOC] expand docs for IO#puts [ruby-core:80081] [Bug #13306] ------------------------------------------------------------------------ r59807 | nagachika | 2017-09-10 11:40:45 +0900 (Sun, 10 Sep 2017) | 24 lines merge revision(s) 58524,58525,58526,59333,59337: [Backport #13616] zlib.c: zstream_expand_buffer_non_stream * ext/zlib/zlib.c (zstream_expand_buffer_non_stream): rename from zstream_expand_buffer_without_gvl() and replace duplicate code in zstream_expand_buffer(). zlib.c: zstream_buffer_ungetbyte * ext/zlib/zlib.c (zstream_buffer_ungetbyte): simplify by using zstream_buffer_ungets(). zlib.c: no buf_filled in zstream * ext/zlib/zlib.c (zstream): manage capacity and size of `buf` instead of size and separated member `buf_filled`. reported by Christian Jalio (jalio) at https://hackerone.com/reports/211958 Zlib::GzipReader#pos underflows after calling #ungetbyte or #ungetc at start of file [Bug #13616] patched by Andrew Haines <andrew@haines.org.nz> [ruby-core:81488] zlib.c: fix unnormalized Fixnum * ext/zlib/zlib.c (rb_gzfile_total_out): cast to long not to result in an unsigned long to normalized to Fixnum on LLP64 platforms. [ruby-core:81488] ------------------------------------------------------------------------ r59784 | nagachika | 2017-09-08 23:38:12 +0900 (Fri, 08 Sep 2017) | 28 lines merge revision(s) 59567: [Backport #13796] openssl: import v2.0.5 Import Ruby/OpenSSL 2.0.5. The full commit history since v2.0.4 (imported at r59081) can be found at: https://github.com/ruby/openssl/compare/v2.0.4...v2.0.5 This will fix the test failure on latest Debian sid and the "no OPENSSL_Applink" issue on mswin. ---------------------------------------------------------------- Kazuki Yamaguchi (11): test/test_ssl: allow 3DES cipher suites in test_sslctx_set_params bio: prevent possible GC issue in ossl_obj2bio() bio: do not use the FILE BIO method in ossl_obj2bio() Rakefile: install_dependencies: install only when needed appveyor.yml: test against Ruby 2.4 ossl_pem_passwd_cb: relax passphrase length constraint ossl_pem_passwd_cb: do not check for taintedness ossl_pem_passwd_cb: handle nil from the block explicitly ssl: remove unsupported TLS versions from SSLContext::METHODS ssl: fix compile error with OpenSSL 1.0.0 Ruby/OpenSSL 2.0.5 Lars Kanis (1): Add msys2 library dependency tag in gem metadata ------------------------------------------------------------------------ r59783 | nagachika | 2017-09-08 23:27:38 +0900 (Fri, 08 Sep 2017) | 7 lines merge revision(s) 59693,59695: [Backport #13852] A HTTP Header value must not contain CR or LF. to_str -> to_s * lib/net/http/header.rb (set_field): `val` can not have `to_str`. ------------------------------------------------------------------------ r59782 | nagachika | 2017-09-08 23:25:52 +0900 (Fri, 08 Sep 2017) | 8 lines merge revision(s) 59584: [Backport #13850] REXML: Fix a bug that unexpected methods can be called as a XPath function [HackerOne:249295] Reported by Andrea Jegher. Thanks!!! ------------------------------------------------------------------------ r59520 | nagachika | 2017-08-05 16:00:33 +0900 (Sat, 05 Aug 2017) | 11 lines merge revision(s) 59457: [Backport #13775] should not copy promoted flags. * include/ruby/ruby.h (rb_clone_setup): should not copy some flags (FL_PROMOTED0|FL_PROMOTED1|FL_FINALIZE). [Bug #13775] * test/ruby/test_object.rb: add a test (note that this test will fail only when RGENGC_CHECK_MODE >= 2). ------------------------------------------------------------------------ r59517 | nagachika | 2017-08-05 15:46:23 +0900 (Sat, 05 Aug 2017) | 6 lines merge revision(s) 59368: [Backport #13753] random.c: ensure initialized * random.c (get_rnd, try_get_rnd): ensure initialized to get rid of crash in forked processes. [ruby-core:82100] [Bug #13753] ------------------------------------------------------------------------ r59516 | nagachika | 2017-08-05 15:35:02 +0900 (Sat, 05 Aug 2017) | 30 lines merge revision(s) 59462,59474: [Backport #13772] release VM stack properly. * cont.c: r55766 change the handling method of Fiber's VM stack. Resumed Fiber points NULL as VM stack and running Thread has responsibility to manage it (marking and releasing). However, thread_start_func_2()@thread.c and thread_free()@vm.c doesn't free the VM stack if corresponding root Fiber is exist. This causes memory leak. [Bug #13772] * cont.c (root_fiber_alloc): fib->cont.saved_thread.ec.stack should be NULL because running thread has responsibility to manage this stack. * vm.c (rb_thread_recycle_stack_release): assert given stack is not NULL (callers should care it). fix stack storing for root fibers. * cont.c (root_fiber_alloc): this function is called by fiber_current() and fiber_store(). fiber_current() should clear VM stack information in a fiber data because runnning thread knows stack information and has responsibility to manage it. However fiber_store() requires to remain VM stack information in a fiber data because the responsibility to manage VM stack is moved to the Fiber from the Thread (and switch to another fiber). * cont.c (root_fiber_alloc): save thread's fiber and root_fiber information. ------------------------------------------------------------------------ r59515 | nagachika | 2017-08-05 12:24:54 +0900 (Sat, 05 Aug 2017) | 8 lines merge revision(s) 59128: [Backport #13669] Fix Enumerable#uniq with non single yield arguments * enum.c (uniq_func, uniq_iter): need packed value as the unique key. [ruby-core:81734] [Bug #13669] [Fix GH-1658] Author: Kenichi Kamiya <kachick1@gmail.com> ------------------------------------------------------------------------ r59514 | nagachika | 2017-08-05 11:43:08 +0900 (Sat, 05 Aug 2017) | 10 lines merge revision(s) 58810,58894: [Backport #13578] compile.c: fix catch-table labels optimization * compile.c (remove_unreachable_chunk): do not eliminate chunks followed by labels in catch-table entries. compile.c: fix possible use of uninitialized value LABEL::unremovable added by r58810 is not initialized by new_label_body(), making the optimization unstable. ------------------------------------------------------------------------ r59513 | nagachika | 2017-08-05 11:22:37 +0900 (Sat, 05 Aug 2017) | 7 lines merge revision(s) 58561: [Backport #13540] parse.y: make shared string modifiable * parse.y (dedent_string): ensure that the string is modifiable, not to set the length of shared string. [ruby-core:80987] [Bug #13540] ------------------------------------------------------------------------ r59512 | nagachika | 2017-08-05 10:56:55 +0900 (Sat, 05 Aug 2017) | 11 lines merge revision(s) 58205: [Backport #13380] Remove unused Init_frozen_strings declaration Init_frozen_strings definition is removed in r51511. https://bugs.ruby-lang.org/issues/11423 Patch by Kohei Suzuki <eagletmt@gmail.com> * internal.h: Remove declaration of unexist function [Fix GH-1558] ------------------------------------------------------------------------ r59511 | nagachika | 2017-08-05 10:53:44 +0900 (Sat, 05 Aug 2017) | 11 lines merge revision(s) 57501,58576: [Backport #13539] escape.c: check argument * ext/cgi/escape/escape.c (optimized_unescape): check accept_charset encoding argument. share `@@accept_charset` * lib/cgi/{core,util}.rb: include CGI::Util not only extending, to share `@@accept_charset` class variable, so that it is always accessible. [ruby-core:80986] [Bug #13539] ------------------------------------------------------------------------ r59510 | nagachika | 2017-08-05 10:45:39 +0900 (Sat, 05 Aug 2017) | 9 lines merge revision(s) 58523: [Backport #13528] rational.c: canonicalization case * rational.c (float_numerator, float_denominator): fix for canonicalization case where `Float#to_r` could return an Integer not a Rational. although mathn.rb has been removed in the trunk, fix for the backport purpose. [ruby-core:80942] [Bug #13528] ------------------------------------------------------------------------ r59507 | nagachika | 2017-08-05 01:13:13 +0900 (Sat, 05 Aug 2017) | 7 lines merge revision(s) 59374: [Backport #13755] compile.c: restore stack at return * compile.c (iseq_compile_each0): restore the stack depth after return to the previous depth, to fix the stack depth at returning from rescue iseq. [ruby-core:82108] [Bug #13755] ------------------------------------------------------------------------ r59506 | nagachika | 2017-08-05 00:55:45 +0900 (Sat, 05 Aug 2017) | 7 lines merge revision(s) 59384: [Backport #13759] strscan.c: fix segfault in aref * ext/strscan/strscan.c (strscan_aref): fix segfault after get_byte or getch which do not apply regexp. [ruby-core:82116] [Bug #13759] ------------------------------------------------------------------------ r59505 | nagachika | 2017-08-05 00:29:45 +0900 (Sat, 05 Aug 2017) | 6 lines merge revision(s) 58913: [Backport #13599] numeric.c: fix for small number * numeric.c (flo_floor, flo_ceil): should not return zero for small number. [ruby-core:81394] [Bug #13599] ------------------------------------------------------------------------ r59504 | svn | 2017-08-05 00:06:23 +0900 (Sat, 05 Aug 2017) | 1 line * 2017-08-05 ------------------------------------------------------------------------ r59503 | nagachika | 2017-08-05 00:06:22 +0900 (Sat, 05 Aug 2017) | 9 lines merge revision(s) 59063: [Backport #13605] * proc.c (get_local_variable_ptr): return found env ptr. Returned env will be used by write barrier at `bind_local_variable_set()'. [Bug #13605] * test/ruby/test_proc.rb: add a test for this issue. ------------------------------------------------------------------------ r59501 | nagachika | 2017-08-04 23:39:29 +0900 (Fri, 04 Aug 2017) | 6 lines merge revision(s) 58287: [Backport #13411] configure.in: rpath with OPTDIR * configure.in: add rpath flags which is needed for OPTDIR as well as -L options, when it is given. [ruby-dev:50065] [Bug #13411] ------------------------------------------------------------------------ r59500 | nagachika | 2017-08-04 23:31:52 +0900 (Fri, 04 Aug 2017) | 16 lines merge revision(s) 59357,59358: [Backport #13391] [Backport #13404] proc.c: rb_block_min_max_arity * proc.c (rb_block_min_max_arity): new function to get arity range from the current block. vm_eval.c: rb_lambda_call * enum.c (enum_collect): make the block arity same as the given block. [Bug #13391] * internal.h (vm_ifunc): store arity instead of unused id. * proc.c (rb_vm_block_min_max_arity): return ifunc arity. * vm_eval.c (rb_lambda_call): call method with lambda block. ------------------------------------------------------------------------ r59493 | nagachika | 2017-08-04 01:00:34 +0900 (Fri, 04 Aug 2017) | 15 lines merge revision(s) 59183,59184: [Backport #13682] fix return in toplevel rescue/ensure * compile.c (iseq_compile_each0): throw TAG_RETURN at return in toplevel rescue/ensure to adjust VM stack properly. [ruby-core:81777] [Bug #13682] * vm_insnhelper.c (vm_throw_start): allow return in toplevel rescue/ensure. fix return in toplevel ensure * compile.c (iseq_compile_each0): adjust stack after return in toplevel ensure, when the value is used. [ruby-core:81777] [Bug #13682] ------------------------------------------------------------------------ r59492 | nagachika | 2017-08-04 00:41:24 +0900 (Fri, 04 Aug 2017) | 8 lines merge revision(s) 59202: [Backport #13690] compile.c: disallow next in once * compile.c (iseq_compile_each0): turned dregx context in "once" into "guarded" type from "block" type, to disallow `next`, `break`, `redo` as well as outside "once". [ruby-core:81805] [Bug #13690] ------------------------------------------------------------------------ r59491 | nagachika | 2017-08-04 00:40:10 +0900 (Fri, 04 Aug 2017) | 8 lines merge revision(s) 59181: [Backport #13680] vm_insnhelper.c: break in once * vm_insnhelper.c (vm_throw_start): size of catch table has been included in iseq_catch_table struct, which could be NULL, since 2.2. e.g., proc-closure in `once'. [ruby-core:81775] [Bug #13680] ------------------------------------------------------------------------ r59490 | nagachika | 2017-08-03 23:00:41 +0900 (Thu, 03 Aug 2017) | 7 lines merge revision(s) 59169: [Backport #13678] compile.c: toplevel return in argument * compile.c (iseq_compile_each0): adjust the stack before return in an evstr/argument (reported by Balazs <balazs@kutilovi.cz>) to fix stack consistency error. [ruby-core:81761] [Bug #13678] ------------------------------------------------------------------------ r59489 | nagachika | 2017-08-03 22:43:01 +0900 (Thu, 03 Aug 2017) | 43 lines merge revision(s) 58742,59081: [Backport #11033] Search SSL libraries by testing various filename patterns * ext/openssl/extconf.rb (find_openssl_library): should search by more flexible method, especially for LibreSSL on Windows. openssl: import v2.0.4 Import Ruby/OpenSSL 2.0.4. Only bug (and typo) fixes. The full commit history since v2.0.3 (imported at r57482) can be found at: https://github.com/ruby/openssl/compare/v2.0.3...v2.0.4 This contains the fix for [Bug #11033]. ---------------------------------------------------------------- Jun Aruga (1): Update .travis.yml and Dockerfile Kazuki Yamaguchi (9): test/test_pkey_ec: do not use dummy 0 order test/test_ssl: fix typo in test_sysread_and_syswrite ssl: check return value of SSL_set_fd() Fix typos test/test_x509store: skip OpenSSL::TestX509Store#test_set_errors tool/sync-with-trunk: 'LASY' -> 'LAST' x509store: clear error queue after calling X509_LOOKUP_load_file() extconf.rb: simplify searching libraries logic Ruby/OpenSSL 2.0.4 SHIBATA Hiroshi (1): Fix typos Vladimir Rybas (1): Fix documentation for OpenSSL::Cipher#final nobu (2): openssl: fix broken openssl check openssl: fix broken openssl check usa (1): Search SSL libraries by testing various filename patterns ------------------------------------------------------------------------ r59488 | nagachika | 2017-08-03 22:29:12 +0900 (Thu, 03 Aug 2017) | 8 lines merge revision(s) 58503: [Backport #13523] node.h: sign-extend * node.h (nd_line): should sign-extend. shifting `VALUE` extends with zero bits if `sizeof(VALUE)` equals to `sizeof(int)`. the zero bits are truncated if `sizeof(VALUE)` is bigger enough. [ruby-core:80920] [Bug #13523] ------------------------------------------------------------------------ r59409 | nagachika | 2017-07-23 17:59:07 +0900 (Sun, 23 Jul 2017) | 9 lines merge revision(s) 58641: [Backport #13547] parse.y: brace after literal arg * parse.y (symbol, dsym, parser_set_number_literal, parser_yylex): set state to END too not only ENDARG and after a literal, so that a left brace after it should be a primary block bound to the literal, which causes syntax error. [ruby-core:81037] [Bug #13547] ------------------------------------------------------------------------ r59408 | nagachika | 2017-07-23 17:49:34 +0900 (Sun, 23 Jul 2017) | 11 lines merge revision(s) 58902: [Backport #13595] attempt to fix rb_alloc_tmp_buffer2 for ALLOCV_N This is a confusing function to my arithmetic-challenged mind, but nobu seems alright with this. Anyways this lets me use large values of elsize without segfaulting, and "make exam" passes. * include/ruby/ruby.h (rb_alloc_tmp_buffer2): attempt to fix [ruby-core:81388] [ruby-core:81391] [Bug #13595] ------------------------------------------------------------------------ r59407 | nagachika | 2017-07-23 17:39:46 +0900 (Sun, 23 Jul 2017) | 13 lines merge revision(s) 58077,58229: [Backport #13358] ostruct.rb: fix OpenStruct.allocate * lib/ostruct.rb (OpenStruct.allocate): initialize an instance variable directly, without calling `intialize` method which may be overridden in a subclass. [ruby-core:80292] [Bug #13358] ostruct.rb: improve fix for OpenStruct.allocate + #respond_to? * lib/ostruct.rb (OpenStruct#respond_to_missing?): this makes OpenStruct#respond_to? works on any OpenStruct instance, just like Kernel#respond_to? does, without workarounds. [ruby-core:80292] [Bug #13358] ------------------------------------------------------------------------ r59406 | nagachika | 2017-07-23 17:15:57 +0900 (Sun, 23 Jul 2017) | 12 lines merge revision(s) 58638,58640: [Backport #11873] test_syntax.rb: test_brace_after_local_variable * test/ruby/test_syntax.rb (test_brace_after_local_variable): another test using braces. [Bug #11873] parse.y: do after cmdarg in paren * parse.y (parser_yylex): set state to ENDARG after a string literal, so that `do` after a literal should be `do_block` and bound to the outer method, as well as a numeric/symbol literal. [ruby-core:72482] [Bug #11873] ------------------------------------------------------------------------ r59405 | nagachika | 2017-07-23 17:05:15 +0900 (Sun, 23 Jul 2017) | 9 lines merge revision(s) 59307: [Backport #13284] a64: fix crash on register stack mark/sweep pass * thread_pthread.c: move 'register_stack_start' earlier. [ruby-core:79928] [Bug #13284] [Fix GH-1625] Author: Sergei Trofimovich <slyfox@gentoo.org> ------------------------------------------------------------------------ r59404 | nagachika | 2017-07-23 16:50:10 +0900 (Sun, 23 Jul 2017) | 7 lines merge revision(s) 57530: [Backport #13191] sample/pty/shl.rb: update sample * Specify frozen_string_literal: true. * Fix TypeError of raise. * Use a character literal instead of Integer. ------------------------------------------------------------------------ r59403 | nagachika | 2017-07-23 16:48:31 +0900 (Sun, 23 Jul 2017) | 7 lines merge revision(s) 59002: [Backport #13621] string.c: docs for String#split * string.c: [DOC] clarify docs for String#split when called with limit and capture groups. Reported by Cichol Tsai. [ruby-core:81505] [Bug #13621] ------------------------------------------------------------------------ r59402 | nagachika | 2017-07-23 16:46:05 +0900 (Sun, 23 Jul 2017) | 6 lines merge revision(s) 57446: [Backport #13413] mkmf.rb: fix script installation * lib/mkmf.rb (MakeMakefile): fix condition to install script files. ------------------------------------------------------------------------ r59401 | nagachika | 2017-07-23 16:44:56 +0900 (Sun, 23 Jul 2017) | 7 lines merge revision(s) 59161: [Backport #13672] parse.y: check multibyte char * parse.y (parser_precise_mbclen): check invalid multibyte char at skipping strings following `?x` literal string, not to stuck in a infinite loop. [ruby-core:81746] [Bug #13672] ------------------------------------------------------------------------ r59400 | nagachika | 2017-07-23 16:36:10 +0900 (Sun, 23 Jul 2017) | 8 lines merge revision(s) 59102: [Backport #13515] pathname.rb: UNC root pathname needs a separator * ext/pathname/lib/pathname.rb (Pathname#plus): UNC root pathname needs a separator. File.basename returns "/" on UNC root, as well as sole drive letter, even if it does not end with a separator. [ruby-core:80900] [Bug #13515] ------------------------------------------------------------------------ r59399 | nagachika | 2017-07-23 16:33:07 +0900 (Sun, 23 Jul 2017) | 9 lines merge revision(s) 59033,59034: [Backport #13636] rexml: add close tag check on end of document to StreamParser [ruby-core:81593] [Bug #13636] Reported by Anton Sivakov. Thanks!!! * properties. ------------------------------------------------------------------------ r59398 | nagachika | 2017-07-23 16:30:43 +0900 (Sun, 23 Jul 2017) | 6 lines merge revision(s) 58693: [Backport #13558] array.c: check position to insert * array.c (rb_ary_insert): check position to insert even if no elements to be inserted. [ruby-core:81125] [Bug #13558] ------------------------------------------------------------------------ r59397 | nagachika | 2017-07-23 16:21:04 +0900 (Sun, 23 Jul 2017) | 9 lines merge revision(s) 58643: [Backport #13231] date_core.c: fix docs for %Z format * ext/date/date_core.c: [DOC] fix documentation for %Z format of {Date,DateTime}.strftime. Reported by Damon Timm. Based on a patch by nano. [ruby-core:79602] [Bug #13231] [Fix GH-1565] ------------------------------------------------------------------------ r59396 | nagachika | 2017-07-23 16:20:05 +0900 (Sun, 23 Jul 2017) | 10 lines merge revision(s) 58552: [Backport #13531] rss: Accept empty text element as valid element Parser has been accepted it but XML serializer wasn't accepted. Reported by stefano frabetti. Thanks!!! [ruby-core:80965] [Bug #13531] ------------------------------------------------------------------------ r59395 | nagachika | 2017-07-23 16:02:29 +0900 (Sun, 23 Jul 2017) | 8 lines merge revision(s) 59080,59082: [Backport #13656] proc.c: skip prepended modules * proc.c (method_super_method): skip prepended modules and continue from the super class of the original class. [ruby-core:81666] [Bug #13656] test/ruby/test_method.rb: refined [ruby-core:81666] [Bug #13656] ------------------------------------------------------------------------ r59363 | nagachika | 2017-07-18 21:42:38 +0900 (Tue, 18 Jul 2017) | 9 lines merge revision(s) 59056: [Backport #13648] [Backport #13699] enumerator.c: fix nested maps * enumerator.c (lazy_map_proc, lazy_grep_iter_proc): marks values returned by blocks are not packed in the case of nested maps, so that the result will be same as non-lazy version. based on the patch by akihikodaki (Akihiko Odaki) at [ruby-core:81638], without GCC extension. [Bug#13648] ------------------------------------------------------------------------ r59316 | nagachika | 2017-07-12 23:06:21 +0900 (Wed, 12 Jul 2017) | 6 lines merge revision(s) 59312: [Backport #13739] optparse.rb: get rid of eval * lib/optparse.rb: try Float() and Integer() instead of eval, which does too much things. ------------------------------------------------------------------------ r59303 | nagachika | 2017-07-10 05:46:10 +0900 (Mon, 10 Jul 2017) | 28 lines merge revision(s) 58696: [Backport #11384] autoload: always wait on loading thread We cannot assume autoload_provided/rb_feature_provided returning TRUE means it is safe to proceed without waiting. Another thread may call rb_provide_feature before setting the constant (via autoload_const_set). So we must wait until autoload is completed by another thread. Note: this patch was tested with an explicit rb_thread_schedule in rb_provide_feature to make the race condition more apparent as suggested by <s.wanabe@gmail.com>: > --- a/load.c > +++ b/load.c > @@ -563,6 +563,7 @@ rb_provide_feature(VALUE feature) > rb_str_freeze(feature); > > rb_ary_push(features, rb_fstring(feature)); > +rb_thread_schedule(); > features_index_add(feature, INT2FIX(RARRAY_LEN(features)-1)); > reset_loaded_features_snapshot(); > } * variable.c (check_autoload_required): do not assume a provided feature means autoload is complete, always wait if autoload is being performed by another thread. [ruby-core:81105] [Bug #11384] Thanks to <s.wanabe@gmail.com> ------------------------------------------------------------------------ r59302 | nagachika | 2017-07-10 05:24:02 +0900 (Mon, 10 Jul 2017) | 13 lines merge revision(s) 56558,59116,59136: [Backport #12670] * gc.c (heap_page_resurrect): do not return tomb_pages when page->freelist == NULL. [Bug #12670] test for [Bug #12670] heap corruption by deferred free. gc.c: expand sorted pages * gc.c (heap_page_allocate): expand sorted pages before inserting allocated new page. [Bug #12670] ------------------------------------------------------------------------ r59301 | nagachika | 2017-07-10 05:06:31 +0900 (Mon, 10 Jul 2017) | 10 lines merge revision(s) 58825,58826: [Backport #5339] erb.rb: Allow explicit trimming carriage return when trim_mode is "-", for Windows environments. [ruby-core:39625] [Bug #5339] erb.rb: Allow trimming CR in all trim_modes to unify a behavior with r58823 and r58825. ------------------------------------------------------------------------ r59300 | nagachika | 2017-07-10 05:04:25 +0900 (Mon, 10 Jul 2017) | 7 lines merge revision(s) 58823: [Backport #11464] erb.rb: Allow trimming carriage return when trim_mode is "<>", for Windows environments. [Bug #11464] ------------------------------------------------------------------------ r59299 | nagachika | 2017-07-10 05:02:04 +0900 (Mon, 10 Jul 2017) | 6 lines merge revision(s) 58210: [Backport #8916] vsnprintf.c: prefix with precision * vsnprintf.c (BSD_vfprintf): sign and hex-prefix should not be counted in precision. [ruby-dev:47714] [Bug #8916] ------------------------------------------------------------------------ r59298 | nagachika | 2017-07-10 04:51:43 +0900 (Mon, 10 Jul 2017) | 5 lines merge revision(s) 58796: [Backport #13545] Merge latest dtoa.c [Bug #13545] Apply some part of http://www.netlib.org/fp/dtoa.c with my eyes... ------------------------------------------------------------------------ r59297 | nagachika | 2017-07-10 04:49:03 +0900 (Mon, 10 Jul 2017) | 22 lines merge revision(s) 58334,58346,58349: [Backport #13425] [Backport #13432] thread.c: disable VM events when stack overflow * thread.c (ruby_thread_stack_overflow): disable VM events when stack overflow occurred; it causes another stack overflow again in making backtrace object, and crashes. [ruby-core:80662] [Bug #13425] increase timeout seconds. * test/ruby/test_trace.rb (test_trace_stackoverflow): on some platforms this test fails because of timeout. disable rewind hooks. * vm.c (hook_before_rewind): skip rewind hooks if err is SystemStackError because rewind hooks can cause stack overflow again and again. * thread.c (ruby_thread_stack_overflow): do not disable all hooks. Additionally, clearing ruby_vm_event_flags is not suitable way to disable hooks. ------------------------------------------------------------------------ r59296 | nagachika | 2017-07-10 04:47:28 +0900 (Mon, 10 Jul 2017) | 18 lines merge revision(s) 58262,5826: [Backport #13369] fix TracePoint#return_value with non-local exits * vm.c: get return_value from imemo_throw_data object (THROW_DATA_VAL()). imemo_throw_data (TAG_BREAK) contains returned value. However, imemo_throw_data (TAG_BREAK) can skip several frames so that we need to use it only once (at most internal frame). To record it, we introduced THROW_DATA_CONSUMED and check it. * internal.h: define THROW_DATA_CONSUMED flag. * test/ruby/test_settracefunc.rb: add tests for [Bug #13369] * vm_insnhelper.h: add THROW_DATA_CONSUMED_P() and THROW_DATA_CONSUMED_SET(). unless File::FNM_DOTMATCH is set. (like '*/') [ruby-dev:23014] ------------------------------------------------------------------------ r59295 | nagachika | 2017-07-10 04:36:49 +0900 (Mon, 10 Jul 2017) | 13 lines merge revision(s) 59030,59031: [Backport #13638] thread.c: avoid busy looping on rb_thread_fd_close We no longer use it this function, but extensions do, and we need to ensure it continues to work for them. * thread.c (rb_thread_fd_close): schedule other threads in loop * ext/-test-/thread_fd_close/thread_fd_close.c: new file * ext/-test-/thread_fd_close/depend: ditto * ext/-test-/thread_fd_close/extconf.rb: ditto * test/-ext-/thread_fd_close/test_thread_fd_close.rb: new test * properties. ------------------------------------------------------------------------ r59294 | nagachika | 2017-07-10 04:27:57 +0900 (Mon, 10 Jul 2017) | 6 lines merge revision(s) 57248: [Backport #13573] dir.c: getattrlist on OSX 10.5 * dir.c (is_case_sensitive): use getattrlist() if fgetattrlist() is unavailable, on OSX 10.5. [ruby-core:68829] [Bug #11054] ------------------------------------------------------------------------ r59293 | nagachika | 2017-07-10 04:02:35 +0900 (Mon, 10 Jul 2017) | 7 lines merge revision(s) 58658: [Backport #13554] process.c: temporary string for buffer * process.c (obj2uid, obj2gid): use temporary string as the buffer instead of `rb_alloc_tmp_buffer`, which is `NODE_ALLOCA` since r51492. [ruby-core:81084] [Bug #13554] ------------------------------------------------------------------------ r59286 | nagachika | 2017-07-08 11:21:36 +0900 (Sat, 08 Jul 2017) | 55 lines merge revision(s) 58284,58812,59028: [Backport #13632] vm_core.h: ruby_error_stream_closed * vm_core.h (ruby_special_exceptions): renamed ruby_error_closed_stream as ruby_error_stream_closed, like the message. speed up IO#close with many threads Today, it increases IO#close performance with many threads: Execution time (sec) name trunk after vm_thread_close 4.276 3.018 Speedup ratio: compare with the result of `trunk' (greater is better) name after vm_thread_close 1.417 This speedup comes because rb_notify_fd_close only scans threads inside rb_thread_io_blocking_region, not all threads in the VM. In the future, this type data structure may allow us to notify waiters of multiple FDs on a single thread (when using Fibers). * thread.c (struct waiting_fd): declare (rb_thread_io_blocking_region): use on-stack list waiter (rb_notify_fd_close): walk vm->waiting_fds instead (call_without_gvl): remove old field setting (th_init): ditto * vm_core.h (typedef struct rb_vm_struct): add waiting_fds list * (typedef struct rb_thread_struct): remove waiting_fd field (rb_vm_living_threads_init): initialize waiting_fds list I am now kicking myself for not thinking about this 3 years ago when I introduced ccan/list in [Feature #9632] to optimize this same function :< IO#close: do not enqueue redundant interrupts (take #2) Enqueuing multiple errors for one event causes spurious errors down the line, as reported by Nikolay Vashchenko in https://bugs.ruby-lang.org/issues/13632 This should fix bad interactions with test_race_gets_and_close in test/ruby/test_io.rb since we ensure rb_notify_fd_close continues returning the busy flag after enqueuing the interrupt. Backporting changes to 2.4 and earlier releases will be more challenging... * thread.c (rb_notify_fd_close): do not enqueue multiple interrupts [ruby-core:81581] [Bug #13632] * test/ruby/test_io.rb (test_single_exception_on_close): new test based on script from Nikolay ------------------------------------------------------------------------ r59247 | nagachika | 2017-07-01 20:51:13 +0900 (Sat, 01 Jul 2017) | 13 lines merge revision(s) 58545,58584: [Backport #13536] ripper/lexer.rb: nested indented heredoc * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): fix for nested indedented here documents, where `Elem`s are nested too. [ruby-core:80977] [Bug #13536] ripper/lexer.rb: nested indented heredoc * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): insert stripped leading spaces as `on_ignored_sp` elements, so that the original source can be reconsructed. [ruby-core:80977] [Bug #13536] ------------------------------------------------------------------------ r58637 | nagachika | 2017-05-10 00:42:52 +0900 (Wed, 10 May 2017) | 13 lines merge revision(s) 58587,58588: [Backport #13526] variable.c: cleanup waitq upon thread death * variable.c (autoload_reset): use idempotent list_del_init (autoload_sleep): moved code from rb_autoload_load (autoload_sleep_done): cleanup for use with rb_ensure (rb_autoload_load): ensure list delete happens in case the thread dies during sleep * test/ruby/bug-13526.rb: new script for separate execution * test/ruby/test_autoload.rb (test_bug_13526): new test [ruby-core:81016] [Bug #13526] * properties. ------------------------------------------------------------------------ r58636 | nagachika | 2017-05-10 00:30:19 +0900 (Wed, 10 May 2017) | 11 lines merge revision(s) 58359: [Backport #13439] fix RSTRUCT_LEN macro in public C API rb_struct_size returns an Integer VALUE, so it must be converted to a `long` for compatibility with previous Ruby C API versions. * ext/-test-/struct/len.c: new * test/-ext-/struct/test_len.rb: new * include/ruby/ruby.h (RSTRUCT_LEN): use NUM2LONG [ruby-core:80692] [Bug #13439] ------------------------------------------------------------------------ r58635 | nagachika | 2017-05-10 00:24:13 +0900 (Wed, 10 May 2017) | 7 lines merge revision(s) 58211: [Backport #13387] string.c: Supress logical-op-parentheses warning * string.c(rb_str_upcase_bang): Supress logical-op-parentheses warning Patch by Fukuo Kadota <fukuo-kadota@cookpad.com>, Closes [GH-1570] [Bug #13387]. ------------------------------------------------------------------------ r58634 | nagachika | 2017-05-10 00:13:55 +0900 (Wed, 10 May 2017) | 7 lines merge revision(s) 58398: [Backport #13444] compile.c: wrong optimization * compile.c (compile_branch_condition): expression which has side effects should not be eliminated. [ruby-core:80740] [Bug #13444] ------------------------------------------------------------------------ r58633 | svn | 2017-05-10 00:06:00 +0900 (Wed, 10 May 2017) | 1 line * 2017-05-10 ------------------------------------------------------------------------ r58632 | nagachika | 2017-05-10 00:05:59 +0900 (Wed, 10 May 2017) | 11 lines merge revision(s) 58082,58083: [Backport #13236] class.c: ensure_includable * class.c (ensure_includable): extract checks to include and prepend. class.c: prohibit refinement module * class.c (ensure_includable): cannot include refinement module, or the type and the class do not match. [ruby-core:79632] [Bug #13236] ------------------------------------------------------------------------ r58631 | nagachika | 2017-05-09 23:56:38 +0900 (Tue, 09 May 2017) | 8 lines merge revision(s) 57640: [Backport #13214] fileutils.rb: do not make root * lib/fileutils.rb (FileUtils#mkdir_p): no need to make root directory which should be exist and cannot be made with mkdir recent Cygwin can make a directory contains a colon. [Bug #13214] ------------------------------------------------------------------------ r58630 | nagachika | 2017-05-09 23:55:29 +0900 (Tue, 09 May 2017) | 13 lines merge revision(s) 57265,57266: [Backport #13081] win32/resolv.rb: ad hoc workaround * ext/win32/lib/win32/resolv.rb (Win32::Resolv::SZ): an ad hoc workaround for broken registry. SearchList and other registry values must be REG_SZ, or Windows ignores anything in those values otherwise. [ruby-dev:49924] [Bug #13081] https://github.com/rubygems/rubygems/issues/1700 win32/registry.rb: registry type names * ext/win32/lib/win32/registry.rb (Win32::Registry#read): show registry type names instead of numeric values. ------------------------------------------------------------------------ r58629 | nagachika | 2017-05-09 23:53:44 +0900 (Tue, 09 May 2017) | 6 lines merge revision(s) 58037: [Backport #10944] docs for creating arrays * array.c: [DOC] add example for Array.new with block and index. Reported by Don Cruickshank. [ruby-core:68442] [Bug #10944] ------------------------------------------------------------------------ r58628 | nagachika | 2017-05-09 23:51:48 +0900 (Tue, 09 May 2017) | 12 lines merge revision(s) 58008: [Backport #9294] io.c: improve docs * io.c: [DOC] improve and harmonize docs for IO#read and ARGF#read; fix invalid example code for IO#read to make it syntax highlighted. * io.c: [DOC] various improvements for docs of IO, ARGF, and Kernel: fix indent to ensure correct code block detection; sync "outbuf" paragraph for {IO,ARGF}#read, {IO,ARGF}#readpartial, and IO#sysread; fix formatting of call-seq's; improve Kernel#open example to use nil?; fix RDoc markup and typos. ------------------------------------------------------------------------ r58627 | nagachika | 2017-05-09 23:50:45 +0900 (Tue, 09 May 2017) | 7 lines merge revision(s) 57490: [Backport #13175] configure.in: use AC_SEARCH_LIBS * configure.in (--with-gmp, --with-jemalloc): use AC_SEARCH_LIBS to check if no library is required, instead of AC_CHECK_LIB. [ruby-core:79368] [Bug #13175] ------------------------------------------------------------------------ r58626 | nagachika | 2017-05-09 23:48:49 +0900 (Tue, 09 May 2017) | 6 lines merge revision(s) 57180: [Backport #13247] memory_status.c: support old Mac OS * ext/-test-/memory_status/memory_status.c (read_status): use TASK_BASIC_INFO instead of MACH_TASK_BASIC_INFO on old Mac OS. ------------------------------------------------------------------------ r58625 | nagachika | 2017-05-09 23:46:24 +0900 (Tue, 09 May 2017) | 11 lines merge revision(s) 58453,58454: [Backport #13499] Fix space flag when Inf/NaN and width==3 * sprintf.c (rb_str_format): while `"% 2f"` and `"% 4f"` result in `" Inf"` and `" Inf"` respectively, `"% 3f"` results in `"Inf"` (no space). Refactor "%f" % Inf/NaN * sprintf.c (rb_str_format): as for non-finite float, calculate the exact needed size with the space flag. ------------------------------------------------------------------------ r58624 | nagachika | 2017-05-09 23:28:21 +0900 (Tue, 09 May 2017) | 6 lines merge revision(s) 57359: [Backport #13442] uri/generic.rb: fix exception on non-IP format * lib/uri/generic.rb (URI::Generic#find_proxy): match IP address no_proxy against resolved self IP address. [Fix GH-1513] ------------------------------------------------------------------------ r58623 | nagachika | 2017-05-09 23:24:20 +0900 (Tue, 09 May 2017) | 11 lines merge revision(s) 58370,58382: [Backport #13530] thread_win32.c: no GVL for interrupt_event * thread_win32.c (w32_wait_events): do not acquire GVL, to fix deadlock at read/close race condition. instead, just ignore interrupt_event if it is closed. thread_win32.c: fix index * thread_win32.c (w32_wait_events): fix wait object index in the case of interrupt_event is not usable. ------------------------------------------------------------------------ r58622 | nagachika | 2017-05-09 23:21:37 +0900 (Tue, 09 May 2017) | 6 lines merge revision(s) 58534: [Backport #13533] nogvl_wait_for_single_fd must wait as its name poll(fds, n, 0) mean no timeout and immediately return. If you want to wait something, you need to use -1 instead. ------------------------------------------------------------------------ r58620 | nagachika | 2017-05-09 23:11:14 +0900 (Tue, 09 May 2017) | 19 lines merge revision(s) 57531,57532,57533,57537: [Backport #13191] pty/shl.rb: update [ci skip] * sample/pty/shl.rb: stop writer loop when the child exited. PTY::ChildExited no longer raises asynchronously since r20298. [ruby-dev:49974] [Bug #13191] pty/shl.rb: update [ci skip] * sample/pty/shl.rb: use io/console instead of stty. [ruby-dev:49974] [Bug #13191] pty/shl.rb: update [ci skip] * sample/pty/shl.rb: do not manage array length separately. [ruby-dev:49974] [Bug #13191] pty/shl.rb: update [ci skip] * sample/pty/shl.rb: leap exited child process. [ruby-dev:49974] [Bug #13191] ------------------------------------------------------------------------ r58619 | nagachika | 2017-05-09 23:09:44 +0900 (Tue, 09 May 2017) | 6 lines merge revision(s) 58084: [Backport #13361] configure.in: syscall is deprecated on macOS * configure.in: syscall is no longer supported on macOS since 10.12. [ruby-core:80300] [Bug #13361] ------------------------------------------------------------------------ r58445 | nagachika | 2017-04-22 16:29:01 +0900 (Sat, 22 Apr 2017) | 7 lines merge revision(s) 58323,58324: Merge json-2.0.4. * https://github.com/flori/json/releases/tag/v2.0.4 * https://github.com/flori/json/blob/09fabeb03e73ed88dc8ce8f19d76ac59e51dae20/CHANGES.md#2017-03-23-204 Use `assert_raise` instead of `assert_raises`. ------------------------------------------------------------------------ r58444 | nagachika | 2017-04-22 16:20:22 +0900 (Sat, 22 Apr 2017) | 1 line bump teeny version to 2.4.2 ------------------------------------------------------------------------ r58079 | naruse | 2017-03-24 23:06:24 +0900 (Fri, 24 Mar 2017) | 3 lines merge revision(s) 58078: export_changelog must specify the branch's url ------------------------------------------------------------------------ r58052 | naruse | 2017-03-22 14:54:22 +0900 (Wed, 22 Mar 2017) | 11 lines merge revision(s) 58040,58041: stringio.c: check character code * ext/stringio/stringio.c (strio_ungetc): check if the character code is valid in the encoding. reported by Ahmad Sherif (ahmadsherif) at https://hackerone.com/reports/209593. stringio.c: check range * ext/stringio/stringio.c (strio_ungetc): raise RangeError instead of TypeError at too big value, as well as IO#ungetc. ------------------------------------------------------------------------ r58047 | naruse | 2017-03-22 01:22:21 +0900 (Wed, 22 Mar 2017) | 2 lines Bump up version to 2.4.1 ------------------------------------------------------------------------ r58046 | naruse | 2017-03-21 23:11:42 +0900 (Tue, 21 Mar 2017) | 8 lines merge revision(s) 58042: [Backport #13339] string.c: use the usable size * string.c (rb_str_change_terminator_length): when called after the content has been copied, old terminator length no longer makes sense. use the whole usable size instead of capacity without terminator. [ruby-core:80257] [Bug #13339] ------------------------------------------------------------------------ r58045 | naruse | 2017-03-21 23:04:23 +0900 (Tue, 21 Mar 2017) | 20 lines merge revision(s) 57192,57464,58016,58018,58019: [Backport #12705] [Bug #12705] add a ticket number. test_lambda.rb: refine test * test/ruby/test_lambda.rb (test_lambda_as_iterator): refine a test for the intention of the original report. [ruby-core:61340] [Bug #9605] test_lambda.rb: remove duplcate tests vm_args.c: arity check of lambda * vm_eval.c (rb_yield_lambda): new function which yields an array to a proc and splat to a lambda. mainly for Enumerable only. * vm_args.c (setup_parameters_complex): remove special lambda splatting for [Bug #9605]. [ruby-core:77065] [Bug #12705] * vm_insnhelper.c (vm_callee_setup_block_arg): ditto. ------------------------------------------------------------------------ r58022 | naruse | 2017-03-19 23:29:22 +0900 (Sun, 19 Mar 2017) | 6 lines merge revision(s) 58015: [Backport #13325] vm_args.c: pass block * vm_args.c (refine_sym_proc_call): pass block to the method when using refinements. [ruby-core:80219] [Bug #13325] ------------------------------------------------------------------------ r58013 | naruse | 2017-03-18 21:02:27 +0900 (Sat, 18 Mar 2017) | 7 lines merge revision(s) 57972: [Backport #13198] Fix bug of Tempfile#size if nothing is written [Bug #13198] * lib/tempfile.rb (Tempfile#size): Fix its behavior when nothing is written. Tempfile#size should return 0 in this case. The patch is from nobu <nobu@ruby-lang.org>. ------------------------------------------------------------------------ r58003 | naruse | 2017-03-17 16:06:50 +0900 (Fri, 17 Mar 2017) | 17 lines merge revision(s) 57968,57969,57970: [Backport #13313] thread.c: thread_do_start * thread.c (thread_do_start): extract from a macro in thread_start_func_2 for debugger. thread.c: Thread.start with Symbol * thread.c (thread_do_start): fix segfault at start with Symbol. proc created by Symbol#to_proc does not have environment unless using refinements. [ruby-core:80147] [Bug #13313] Fiber also has same issue. [Bug #13313] * thread.c (rb_vm_proc_local_ep): added. * cont.c (rb_fiber_start): use rb_vm_proc_local_ep(). ------------------------------------------------------------------------ r58002 | naruse | 2017-03-17 13:44:13 +0900 (Fri, 17 Mar 2017) | 6 lines merge revision(s) 57956: Raise error if spec is nil With parallel test-all, the spec is sometimes nil. To debug it raise more detailed error. ------------------------------------------------------------------------ r58001 | naruse | 2017-03-17 13:36:49 +0900 (Fri, 17 Mar 2017) | 13 lines merge revision(s) 57523,57998: [Backport #13322] test_gem.rb: exclude default gems * test/rubygems/test_gem.rb: check difference to exclude default gems from the expected results. [Feature #13186] Merge rubygems-2.6.11 This version fixed regression of rubygems-2.6.10. https://github.com/rubygems/rubygems/pull/1856 See details of changelogs for 2.6.11 release: https://github.com/rubygems/rubygems/blob/adfcf40502716080bd9cdfdd2e43bd4296872784/History.txt#L3 ------------------------------------------------------------------------ r57959 | naruse | 2017-03-13 18:28:35 +0900 (Mon, 13 Mar 2017) | 10 lines merge revision(s) 57948,57950: [Backport #13304] thread.c: rb_thread_fd_close [ci skip] * thread.c (rb_thread_fd_close): re-define only for abi-check, abort if called. [ruby-core:80078] [Bug #13304] thread.c: rb_thread_fd_close [ci skip] * thread.c (rb_thread_fd_close): remove deprecated. a couple of external libraries used it. [ruby-core:80078] [Bug #13304] ------------------------------------------------------------------------ r57957 | naruse | 2017-03-13 18:05:46 +0900 (Mon, 13 Mar 2017) | 6 lines merge revision(s) 57603: [Backport #12997] Merge Onigmo 6.1.1 * Support absent operator https://github.com/k-takata/Onigmo/issues/82 * https://github.com/k-takata/Onigmo/blob/Onigmo-6.1.1/HISTORY ------------------------------------------------------------------------ r57954 | naruse | 2017-03-13 16:30:30 +0900 (Mon, 13 Mar 2017) | 33 lines merge revision(s) 57410,57619,57621,57631,57634: [Backport #13150] Prevent GC by volatile [Bug #13150] test/ruby/test_marshal.rb test_context_switch (load) and test_gc (dump) are failed on FreeBSD 10.3 and gcc7 (FreeBSD Ports Collection) 7.0.0 20170115 (experimental); RB_GC_GUARD looks not worked well. ruby.h: RB_GC_GUARD stronger than gcc7 * include/ruby/ruby.h (RB_GC_GUARD): prevent guarded pointer from optimization by using as an input to inline asm. ruby.h: remove comment * include/ruby/ruby.h (RB_GC_GUARD): remove comment unsupported by Solaris AS. marshal.c: use hidden objects to allow recycling Hidden objects (klass == 0) are not visible to Ruby code invoked from other threads or signal handlers, so they can never be accessed from other contexts. This makes it safe to call rb_gc_force_recycle on the object slot after releasing malloc memory. * marshal.c (rb_marshal_dump_limited): hide dump_arg and recycle when done (rb_marshal_load_with_proc): hide load_arg and recycle when done [ruby-core:79518] marshal.c: revert r57631 partially * marshal.c (rb_marshal_dump_limited): do not free dump_arg, which may be dereferenced in check_dump_arg due to continuation, and get rid of dangling pointers. * marshal.c (rb_marshal_load_with_proc): ditto for load_arg. ------------------------------------------------------------------------ r57953 | naruse | 2017-03-13 16:03:32 +0900 (Mon, 13 Mar 2017) | 10 lines merge revision(s) 57269,57277: bignum.c: fix rb_cstr_parse_inum endp * bignum.c (rb_cstr_parse_inum): stores the address of the first invalid character when str is too big or contains an underscore. bignum.c: unnecessary check * bignum.c (rb_cstr_parse_inum): remove unnecessary check. successive sign is rejected by conv_digit. ------------------------------------------------------------------------ r57952 | naruse | 2017-03-13 15:58:19 +0900 (Mon, 13 Mar 2017) | 6 lines merge revision(s) 57412: [Backport #13308] Update Rubygems 2.6.10 * https://github.com/rubygems/rubygems/commit/2ee5bf9fd3bd7649d3e244bc40107ff32070ef47 * https://github.com/rubygems/rubygems/commit/be510dd4097e65c6a256a6e173d6b724a3a96472 ------------------------------------------------------------------------ r57945 | naruse | 2017-03-13 03:41:38 +0900 (Mon, 13 Mar 2017) | 8 lines merge revision(s) 57767,57943: [Backport #10403] io.c: documentation for puts * io.c: [DOC] clarify that the 'record separator' between arguments passed to 'puts' is always a newline. Based on a patch by Mark Amery. [ruby-core:65801] [Misc #10403] * 2017-03-13 ------------------------------------------------------------------------ r57941 | naruse | 2017-03-13 03:15:33 +0900 (Mon, 13 Mar 2017) | 66 lines merge revision(s) 57469,57471,57472,57503,57508: [Backport #13299] io.c: recycle garbage on write * string.c (STR_IS_SHARED_M): new flag to mark shared mulitple times (STR_SET_SHARED): set STR_IS_SHARED_M (rb_str_tmp_frozen_acquire, rb_str_tmp_frozen_release): new functions (str_new_frozen): set/unset STR_IS_SHARED_M as appropriate * internal.h: declare new functions * io.c (fwrite_arg, fwrite_do, fwrite_end): new (io_fwrite): use new functions Introduce rb_str_tmp_frozen_acquire and rb_str_tmp_frozen_release to manage a hidden, frozen string. Reuse one bit of the embed length for shared strings as STR_IS_SHARED_M to indicate a string has been shared multiple times. In the common case, the string is only shared once so the object slot can be reclaimed immediately. minimum results in each 3 measurements. (time and size) Execution time (sec) name trunk built io_copy_stream_write 0.682 0.254 io_copy_stream_write_socket 1.225 0.751 Speedup ratio: compare with the result of `trunk' (greater is better) name built io_copy_stream_write 2.680 io_copy_stream_write_socket 1.630 Memory usage (last size) (B) name trunk built io_copy_stream_write 95436800.000 6512640.000 io_copy_stream_write_socket 117628928.000 7127040.000 Memory consuming ratio (size) with the result of `trunk' (greater is better) name built io_copy_stream_write 14.654 io_copy_stream_write_socket 16.505 string.c (rb_str_tmp_frozen_release): release embedded strings Handle the embedded case first, since we may have an embedded duplicate and non-embedded original string. * string.c (rb_str_tmp_frozen_release): handled embedded strings * test/ruby/test_io.rb (test_write_no_garbage): new test [ruby-core:78898] [Bug #13085] io.c (rb_io_syswrite): avoid leaving garbage after write As with IO#write, IO#syswrite also generates garbage which can be harmful in hand-coded read-write loops. * io.c (swrite_arg, swrite_do, swrite_end): new (rb_io_syswrite): use new functions to cleanup garbage [ruby-core:78898] [Bug #13085] Add class name to assert messages io.c: remove rb_ensure usage for rb_str_tmp_frozen_* calls Using rb_ensure pessimizes the common case and makes the code more difficult to read and follow. If we hit an exceptions during write, just let the GC handle cleanup as the exception is already bad for garbage. * io.c (io_fwrite): call rb_str_tmp_frozen{acquire,release} directly (rb_io_syswrite): ditto (fwrite_do, fwrite_end, swrite_do, swrite_end): remove ------------------------------------------------------------------------ r57940 | naruse | 2017-03-13 03:01:40 +0900 (Mon, 13 Mar 2017) | 11 lines merge revision(s) 57811: [Backport #9829] docs for FileUtils.ln methods * lib/fileutils.rb: [DOC] add clarifying call-seq's for FileUtil.ln, ln_s, and ln_sf, with better argument names for the created link and link target. Reported by Mike Vastola. [ruby-core:62532] [Bug #9829] * lib/fileutils.rb: [DOC] further improve descriptions of FileUtils.ln and related methods; improve examples: relative links probably won't work in other dir, avoid `include', use more generic homedir name. ------------------------------------------------------------------------ r57939 | naruse | 2017-03-13 03:01:22 +0900 (Mon, 13 Mar 2017) | 11 lines merge revision(s) 57415,57463,57474: eval.c: copy special exception * eval.c (setup_exception): make unfrozen copy of special exception before setting up a cause. reduce iterations for slower machines test_io.rb: separate a test * test/ruby/test_io.rb (test_closed_stream_in_rescue): run in a separated process. ------------------------------------------------------------------------ r57938 | naruse | 2017-03-13 02:51:21 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57427: [Backport #13030] skip T_IMEMO for VMDEBUG * vm_dump.c (vm_stack_dump_each): skip T_IMEMO object to display for VMDEBUG=3. [Bug #13030] ------------------------------------------------------------------------ r57937 | naruse | 2017-03-13 02:26:03 +0900 (Mon, 13 Mar 2017) | 5 lines merge revision(s) 57809: [Backport #13291] fix paren * string.c (str_byte_substr): fix misplaced parenthesis at r56155. ------------------------------------------------------------------------ r57936 | naruse | 2017-03-13 02:23:03 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57741: [Backport #13254] disable critical-error-handler * win32/win32.c (rb_w32_sysinit): disable critical-error-handler message box even on mswin, regardless of runtime DLL version. [ruby-dev:49988] [Bug #13254] ------------------------------------------------------------------------ r57935 | naruse | 2017-03-13 02:22:20 +0900 (Mon, 13 Mar 2017) | 15 lines merge revision(s) 57816,57817: [Backport #13292] fix UTF-32 valid_encoding? * enc/utf_32be.c (utf32be_mbc_enc_len): check arguments precisely. [ruby-core:79966] [Bug #13292] * enc/utf_32le.c (utf32le_mbc_enc_len): ditto. * regenc.h (UNICODE_VALID_CODEPOINT_P): predicate for valid Unicode codepoints. fix UTF-32 valid_encoding? * test/ruby/test_io_m17n.rb (TestIO_M17N#test_puts_widechar): do not use invalid codepoint. [ruby-core:79966] [Bug #13292] ------------------------------------------------------------------------ r57934 | naruse | 2017-03-13 02:14:38 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57801: [Backport #13287] parse.y: remove trace * parse.y (reg_named_capture_assign_iter): do not insert trace instructions before local variable assinments. putobject is expected at first. [ruby-core:79940] [Bug #13287] ------------------------------------------------------------------------ r57933 | naruse | 2017-03-13 02:10:14 +0900 (Mon, 13 Mar 2017) | 6 lines merge revision(s) 57802: string.c: [DOC] Fix a typo in String#dump [Fix GH-1531][ci skip] Author: Alex Semyonov <alex@semyonov.us> ------------------------------------------------------------------------ r57932 | naruse | 2017-03-13 02:10:01 +0900 (Mon, 13 Mar 2017) | 2 lines RbConfig::Limits is Ruby 2.5 feature ------------------------------------------------------------------------ r57931 | naruse | 2017-03-13 01:51:47 +0900 (Mon, 13 Mar 2017) | 17 lines merge revision(s) 57797,57799,57800: [Backport #13289] string.c: fix integer overflow * string.c (rb_str_subpos): fix integer overflow which can happen only when SHARABLE_MIDDLE_SUBSTRING is enabled. incorpolate https://github.com/mruby/mruby/commit/7db0786abdd243ba031e24683f string.c: fix integer overflow * string.c (str_byte_substr): fix another integer overflow which can happen only when SHARABLE_MIDDLE_SUBSTRING is enabled. [ruby-core:79951] [Bug #13289] string.c: negation of LONG_MIN * string.c (rb_str_update): do not use negation of LONG_MIN, which is negative too. ------------------------------------------------------------------------ r57930 | naruse | 2017-03-13 01:31:18 +0900 (Mon, 13 Mar 2017) | 11 lines merge revision(s) 57781: docs for IO.{write,read} * io.c: [DOC] improve docs for IO * IO.{write,read}: fix errors (:open_args is not an array of strings, it might include a perm or options hash argument; IO.write has no length argument, drop corresponding statement), improve formatting, call-seq, grammar. * IO#sync=: remove unnecessary "produces no output". * other improvements. ------------------------------------------------------------------------ r57929 | naruse | 2017-03-13 01:30:08 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57780: [Backport #12975] docs for IO#print * io.c: [DOC] split documentation for IO#print into smaller paragraphs, delete duplicate sentence, fix call-seq. Based on a patch by Dario Daic. [ruby-core:78291] [Bug #12975] ------------------------------------------------------------------------ r57928 | naruse | 2017-03-13 01:29:47 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57778,57779: string.c: [DOC] fix doc formatting for String#==, #=== math.c: more accuracy * math.c (math_log10): calculate log10(2) for more accuracy. [ruby-core:79907] [Bug #13279] ------------------------------------------------------------------------ r57927 | naruse | 2017-03-13 01:29:12 +0900 (Mon, 13 Mar 2017) | 6 lines merge revision(s) 57777: rdoc for String class * lib/unicode_normalize.rb: [DOC] prevent a comment from showing up in the class documentation for String. ------------------------------------------------------------------------ r57926 | naruse | 2017-03-13 01:28:42 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57775: [Backport #13281] nodoc OptParse * lib/optparse.rb: [DOC] nodoc OptParse, introduced with r46126, to avoid leaking of its documentation (OptionParser's docs) into the class documentation of Object. [ruby-core:79909] [Bug #13281] ------------------------------------------------------------------------ r57925 | naruse | 2017-03-13 01:27:45 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57771: documentation for sort methods * array.c: [DOC] fix grammar in Array#sort, #sort!, #sort_by!, move references below the code example, add a missing reference. * enum.c: [DOC] fix grammar in Enumerable#sort, #sort_by. ------------------------------------------------------------------------ r57924 | naruse | 2017-03-13 01:27:30 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57770: enum.c: documentation for Enumerable#sort_by * enum.c: [DOC] improve structure of docs for Enumerable#sort_by, adopt explanation of the comparison block from Array#sort_by, drop mention of 1.8, fix typos. ------------------------------------------------------------------------ r57923 | naruse | 2017-03-13 01:23:09 +0900 (Mon, 13 Mar 2017) | 13 lines merge revision(s) 57765: [Backport #13273] proc.c: documentation for Proc#{call,yield,[]} * proc.c: [DOC] fix and improve docs for Proc#{call,yield,[]}: * change order of Document-method directives as workaround for an RDoc rendering problem where the documentation for Proc#call displays a "Document-method: []" code block. [ruby-core:79887] [Bug #13273] * add missing call-seq and example for Proc#yield * remove pointless cross reference to Proc#yield * update description for handling of extra or missing arguments, improve examples and add cross reference to #lambda? ------------------------------------------------------------------------ r57922 | naruse | 2017-03-13 01:22:05 +0900 (Mon, 13 Mar 2017) | 6 lines merge revision(s) 57763: fix for mingw64 * util.c: define MINGW_HAS_SECURE_API for qsort_s on recent mingw64. ------------------------------------------------------------------------ r57921 | naruse | 2017-03-13 01:21:43 +0900 (Mon, 13 Mar 2017) | 8 lines merge revision(s) 57762: [Backport #13267] broken mingw * configure.in: check whether frexp and modf are broken. * include/ruby/win32.h (frexp, modf): ignore bad declarations when compiling as C++. [ruby-core:79859] [Bug #13267] ------------------------------------------------------------------------ r57920 | naruse | 2017-03-13 01:20:56 +0900 (Mon, 13 Mar 2017) | 4 lines merge revision(s) 57761: [DOC] update doc. ------------------------------------------------------------------------ r57919 | naruse | 2017-03-13 01:20:09 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57758: [Backport #13268] string.c: restore documentation for String#<< * string.c: [DOC] restore documentation for String#<< which became undocumented with r56021; fix a typo. [ruby-core:79865] [Bug #13268] ------------------------------------------------------------------------ r57918 | naruse | 2017-03-13 01:20:03 +0900 (Mon, 13 Mar 2017) | 13 lines merge revision(s) 57751,57753,57755: fileutils.rb: improve rdoc for FileUtils * lib/fileutils.rb: [DOC] fix invalid example code to make it syntax highlighted, fix rdoc for lists, nodoc internal methods, avoid a dangerous example. hash.c: [DOC] fix book title in example struct.c: improve rdoc for Struct * struct.c: [DOC] improve examples for ::new, improve #dig example, simplify #select example, use consistent style for return values, fix typos and example code style, remove duplicate cross reference. ------------------------------------------------------------------------ r57917 | naruse | 2017-03-13 01:18:06 +0900 (Mon, 13 Mar 2017) | 11 lines merge revision(s) 57737: [Backport #13225] date_core.c: expand docs for Date shifting * ext/date/date_core.c: [DOC] expand docs for Date shifting * add examples for Date#>> and Date#<< that clarify some edge cases * add examples for Date#next_year and Date#prev_year * add cross references to Date#>> and Date#<< [ruby-core:79584] [Bug #13225] ------------------------------------------------------------------------ r57916 | naruse | 2017-03-13 00:51:23 +0900 (Mon, 13 Mar 2017) | 9 lines merge revision(s) 57735: [Backport #13148] Fix doc for Hash#dig and Struct#dig * hash.c (rb_hash_dig): [DOC] correct argument name in method description; fix formatting in examples. * struct.c (rb_struct_dig): ditto. [ruby-core:79221] [Bug #13148] ------------------------------------------------------------------------ r57915 | svn | 2017-03-13 00:02:31 +0900 (Mon, 13 Mar 2017) | 1 line * 2017-03-13 ------------------------------------------------------------------------ r57914 | naruse | 2017-03-13 00:02:30 +0900 (Mon, 13 Mar 2017) | 7 lines merge revision(s) 57589: [Backport #13205] parallel.rb: fix intervention * test/lib/test/unit/parallel.rb (_report): send a response and a newline atomically, to get rid of intervention with "p" which runs in a separate thread. ------------------------------------------------------------------------ r57913 | naruse | 2017-03-12 23:57:21 +0900 (Sun, 12 Mar 2017) | 16 lines merge revision(s) 57255,57256,57257: [Backport #13111] forwardable.rb: use defined? * lib/forwardable.rb (_delegator_method): use defined? operator instead of binding and calling unbound Kernel#respond_to?. a remedy for an performance bottleneck. forwardable.rb: use defined? * lib/forwardable.rb (_delegator_method): use defined? operator instead of binding and calling unbound Kernel#respond_to?. a remedy for an performance bottleneck. forwardable.rb: fix branches * lib/forwardable.rb (instance_delegate, single_delegate): fix inverted branches. ------------------------------------------------------------------------ r57912 | naruse | 2017-03-12 23:39:18 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57717: [Backport #13253] parse.y: indent at invalid identifier * parse.y (parser_heredoc_identifier): set indent only when valid identifier, not to dedent non-existent contents later. [ruby-core:79772] [Bug #13253] ------------------------------------------------------------------------ r57911 | naruse | 2017-03-12 23:18:02 +0900 (Sun, 12 Mar 2017) | 10 lines merge revision(s) 57688,57689: [Backport #13242] rational.c: infinity in power * rational.c (nurat_expt): return Infinity due to overflow. [ruby-core:79686] [Bug #13242]: rational.c: infinity in power * rational.c (nurat_expt): return 0 due to overflow. [ruby-core:79686] [Bug #13242]: ------------------------------------------------------------------------ r57910 | naruse | 2017-03-12 23:06:33 +0900 (Sun, 12 Mar 2017) | 14 lines merge revision(s) 57665: [Backport #13229] extension.rdoc: add document title * doc/extension.rdoc, doc/extension.ja.rdoc: [DOC] add title and adapt subheading levels. * doc/extension.rdoc: [DOC] fix subheading level of section about "Ruby Constants That Can Be Accessed From C". * doc/extension.ja.rdoc: [DOC] add missing subheading. [ruby-core:79590] [Bug #13229] Author: Marcus Stollsteimer <sto.mar@web.de> ------------------------------------------------------------------------ r57909 | naruse | 2017-03-12 23:03:16 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57660: [Backport #13234] regparse.c: initialize return values * regparse.c (parse_char_class): initialize return values before depth limit check. returned values will be freed in callers regardless the error. [ruby-core:79624] [Bug #13234] ------------------------------------------------------------------------ r57907 | naruse | 2017-03-12 22:46:55 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57655: [Backport #13227] vm_insnhelper.c: super to module in refinement * vm_insnhelper.c (vm_call_zsuper): method defined in module in refinement is not callable as-is. dispatch again. [ruby-core:79588] [Bug #13227] ------------------------------------------------------------------------ r57906 | naruse | 2017-03-12 21:55:00 +0900 (Sun, 12 Mar 2017) | 4 lines merge revision(s) 57595: [Backport #8996] check thread deadness correctly. ------------------------------------------------------------------------ r57905 | naruse | 2017-03-12 17:09:45 +0900 (Sun, 12 Mar 2017) | 9 lines merge revision(s) 57584: [Backport #13202] [DOC] Update an obsolete example for slice_before. The argument for Enumerable#slice_before is is removed at Ruby 2.3. Reported by Shyouhei Urabe. [Bug #13202] ------------------------------------------------------------------------ r57904 | naruse | 2017-03-12 17:04:28 +0900 (Sun, 12 Mar 2017) | 15 lines merge revision(s) 57549: [Backport #13193] date_core.c: [DOC] revise docs [ci skip] * fix malformed rdoc for Date#today, Date._strptime, and DateTime._strptime * add code examples for Date#<< and Date#>> to demonstrate that different dates can result in the same return value * use Date::ITALY in call-seq instead of only ITALY * fix some copy/paste mistakes where Date should be DateTime * fix various errors and grammar * fix cross references and formatting [ruby-core:79433] [Bug #13193] Author: Marcus Stollsteimer <sto.mar@web.de> ------------------------------------------------------------------------ r57903 | naruse | 2017-03-12 17:02:52 +0900 (Sun, 12 Mar 2017) | 8 lines merge revision(s) 57543: [Backport #13194] rbinstall.rb: default umask * tool/rbinstall.rb: revert r49841 and default umask to just prohibit all from writing. symlink(2) has no argument to set permissions but is affected by umask. [ruby-dev:49975] [Bug #13194] ------------------------------------------------------------------------ r57902 | naruse | 2017-03-12 17:01:46 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57539: [Backport #11752] rational.c: fix rdoc [ci skip] * rational.c (rb_rational_plus): [DOC] fix an example. A patch by Trygve Flathen <at.ruby-lang AT flathen.net> in [ruby-core:71755]. [Bug #11752] ------------------------------------------------------------------------ r57901 | naruse | 2017-03-12 16:54:43 +0900 (Sun, 12 Mar 2017) | 16 lines merge revision(s) 57522: [Backport #13189] doc: restore class documentation for Struct * struct.c: restore class documentation for Struct that disappeared with r46663. Due to r46663, the class documentation for Struct disappeared. (The revision inserted the definition of `InitVM_Struct` between the rdoc and the definition of `Init_Struct`.) The docs are rendered for 2.1: <https://docs.ruby-lang.org/en/2.1.0/Struct.html>, but not for later versions, see: <https://docs.ruby-lang.org/en/2.2.0/Struct.html> (Same for `ri` pages). [ruby-core:79416] [Bug #13189] ------------------------------------------------------------------------ r57900 | naruse | 2017-03-12 16:53:34 +0900 (Sun, 12 Mar 2017) | 44 lines merge revision(s) 57690-57694: rational.c: infinity in power * rational.c (nurat_expt): return 0 due to overflow. [ruby-core:79686] [Bug #13242]: ------------------------------------------------------------------------ r57690 | nobu | 2017-02-23 10:15:27 +0900 (Thu, 23 Feb 2017) | 7 lines [DOC] {read,write}_nonblock with exception: false Update docs to reflect EOF behavior change of read_nonblock and write_nonblock when using `exception: false`. [Fix GH-1527] Author: Russell Davis <russell-stripe@users.noreply.github.com> ------------------------------------------------------------------------ r57691 | nobu | 2017-02-23 10:54:13 +0900 (Thu, 23 Feb 2017) | 11 lines socket.rb: [DOC] fix nonblock methods * ext/socket/lib/socket.rb (BasicSocket#recv_nonblock): fix exception class and symbol. * ext/socket/lib/socket.rb (BasicSocket#recvmsg_nonblock): ditto. * ext/socket/lib/socket.rb (Socket#recvfrom_nonblock): fix the method name. * ext/socket/lib/socket.rb (UDPSocket#recvfrom_nonblock): both. ------------------------------------------------------------------------ r57692 | nobu | 2017-02-23 11:00:28 +0900 (Thu, 23 Feb 2017) | 1 line [DOC] keyword argument _exception_ ------------------------------------------------------------------------ r57693 | nobu | 2017-02-23 11:11:16 +0900 (Thu, 23 Feb 2017) | 1 line [DOC] mark up literals ------------------------------------------------------------------------ r57694 | nobu | 2017-02-23 11:40:17 +0900 (Thu, 23 Feb 2017) | 3 lines Revert r57690 except for read_nonblock https://github.com/ruby/ruby/pull/1527#issuecomment-281867551 ------------------------------------------------------------------------ r57899 | naruse | 2017-03-12 16:52:32 +0900 (Sun, 12 Mar 2017) | 9 lines merge revision(s) 57750: openssl: avoid segfault during running tests on Ubuntu trusty Import the commit 6693a549d673 ("test/test_pkey_ec: do not use dummy 0 order", 2017-02-03) from upstream. Hopefully this will fix the segfault on RubyCI icc16-x64: http://rubyci.org/logs/rubyci.s3.amazonaws.com/icc-x64/ruby-trunk/log/20170301T050002Z.fail.html.gz ------------------------------------------------------------------------ r57898 | naruse | 2017-03-12 16:51:35 +0900 (Sun, 12 Mar 2017) | 14 lines merge revision(s) 57590,57591,57592: [Backport #13200] extmk.rb: split notes * ext/extmk.rb: split notes and echo per lines, for multiple lines messages. [ruby-core:79475] [Bug #13200] openssl: fix broken openssl check * ext/openssl/extconf.rb: check for broken OpenSSL only on mac OS. [ruby-core:79475] [Bug #13200] openssl: fix broken openssl check * ext/openssl/deprecation.rb: check for broken OpenSSL only on mac OS. [ruby-core:79475] [Bug #13200] ------------------------------------------------------------------------ r57897 | naruse | 2017-03-12 16:46:26 +0900 (Sun, 12 Mar 2017) | 6 lines merge revision(s) 57289: [Backport #13114] test_io_console.rb: fix of old CentOS5 * test/io/console/test_io_console.rb (test_winsize): on old CentOS5 window size seems unable to be set across a pty. ------------------------------------------------------------------------ r57896 | naruse | 2017-03-12 16:46:13 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57520: [Backport #13184] ruby.h: unused parameter * include/ruby/ruby.h (rb_scan_args_set): remove unused parameter for more pedantic extension libraries. [ruby-core:79399] [Feature #13184] ------------------------------------------------------------------------ r57895 | naruse | 2017-03-12 16:36:02 +0900 (Sun, 12 Mar 2017) | 10 lines merge revision(s) 57517: [Backport #13190] doc: Fix error for escape sequences in string literals Backslash goes first in escape sequences, so it must be "any other character following a backslash is interpreted as ...", while the doc says "...followed by...". Author: Marcus Stollsteimer <sto.mar@web.de> [ruby-core:79418] [Bug #13190] ------------------------------------------------------------------------ r57894 | naruse | 2017-03-12 16:34:58 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57492: test_queue.rb: fix portability * test/thread/test_queue.rb (test_queue_with_trap): fix portability. use SIGINT instead of SIGUSR2 which is supported on not all platforms. ------------------------------------------------------------------------ r57893 | naruse | 2017-03-12 16:34:42 +0900 (Sun, 12 Mar 2017) | 5 lines merge revision(s) 57515: [Backport #13169] lib/ostruct.rb: Fix returned value of each_pair. From a patch by Marcus Stollsteimer. [Fixes #13169] ------------------------------------------------------------------------ r57885 | naruse | 2017-03-12 04:18:45 +0900 (Sun, 12 Mar 2017) | 10 lines merge revision(s) 57510,57511: [Backport #13176] eval.c: hide internal objects * eval.c (rb_ensure): veil internal exception objects not to leak in ensure functions. [ruby-core:79371] [Bug #13176] ensured.c: fix conflict * ext/-test-/exception/ensured.c (exc_raise): get rid of conflict with raise(2) in the standard. [ruby-core:79371] [Bug #13176] ------------------------------------------------------------------------ r57884 | naruse | 2017-03-12 04:06:22 +0900 (Sun, 12 Mar 2017) | 6 lines merge revision(s) 57483: Describe about RUBY_CODESIGN With RUBY_CODESIGN people can avoid pushing many OK button of firewall dialogs on macOS through test-all. ------------------------------------------------------------------------ r57882 | naruse | 2017-03-12 03:59:50 +0900 (Sun, 12 Mar 2017) | 3 lines merge revision(s) 57165: Add ruby_2_4 branch to test on travis [skip ci] ------------------------------------------------------------------------ r57881 | naruse | 2017-03-12 03:59:22 +0900 (Sun, 12 Mar 2017) | 26 lines merge revision(s) 57482: [Backport #13080] [Backport #13170] openssl: import v2.0.3 Import Ruby/OpenSSL 2.0.3. Only bugfixes. The full commit log since 2.0.2 (imported at r57146) can be found at: https://github.com/ruby/openssl/compare/v2.0.2...v2.0.3 ---------------------------------------------------------------- Corey Bonnell (1): Fix for ASN1::Constructive 'each' implementation Kazuki Yamaguchi (10): Fix build with static OpenSSL libraries on Windows ([ruby-core:78878] [Bug #13080]) Merge pull request #96 from CBonnell/master Merge branch 'topic/windows-static-linking-without-pkg-config' into maint appveyor.yml: update OpenSSL version to 1.0.2j buffering: fix typo in doc test/envutil: fix assert_raise_with_message x509: fix OpenSSL::X509::Name#eql? ([ruby-core:79310] [Bug #13170]) ruby-openssl-docker: update versions of Ruby and OpenSSL .travis.yml: test with Ruby 2.4 Ruby/OpenSSL 2.0.3 ------------------------------------------------------------------------ r57880 | naruse | 2017-03-12 03:46:17 +0900 (Sun, 12 Mar 2017) | 5 lines merge revision(s) 57480: mkmf.rb: message format string * lib/mkmf.rb (checking_for): message needs format string. ------------------------------------------------------------------------ r57879 | naruse | 2017-03-12 03:45:34 +0900 (Sun, 12 Mar 2017) | 17 lines merge revision(s) 57477,57478,57479: [Backport #12405] use TRUE/FALSE. define rb_thread_sleep_deadly_allow_spurious_wakeup(). * thread.c, thread_sync.c: define new function rb_thread_sleep_deadly_allow_spurious_wakeup() and use it instead of using sleep_forever() directly. allow Queue operation in trap. * thread_sync.c: allow spurious wakeup to check Queue status just after trap. [Bug #12405] * test/thread/test_queue.rb: add a test for it. ------------------------------------------------------------------------ r57878 | naruse | 2017-03-12 03:16:14 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57437: leakchecker.rb: get rid of uninitialized Tempfile * test/lib/leakchecker.rb (LeakChecker#find_tempfiles): get rid of errors on uninitialized Tempfile, which can be left when Dir.tmpdir failed or by Tempfile.allocate. ------------------------------------------------------------------------ r57877 | naruse | 2017-03-12 03:15:50 +0900 (Sun, 12 Mar 2017) | 5 lines merge revision(s) 57436: enum.c: write barrier * enum.c (rb_nmin_run): set the class with write barrier. ------------------------------------------------------------------------ r57876 | naruse | 2017-03-12 03:11:06 +0900 (Sun, 12 Mar 2017) | 11 lines merge revision(s) 57434: [Backport #13161] Enumerable#{min,min_by,max,max_by} [ci skip] * enum.c: [DOC] Enumerable#{min,min_by,max,max_by} return a sorted array when +n+ argument is used. * enum.c: Small typo : minimum -> maximum [Bug #13161] Author: Eric Duminil <eric.duminil@gmail.com> ------------------------------------------------------------------------ r57875 | naruse | 2017-03-12 03:10:55 +0900 (Sun, 12 Mar 2017) | 3 lines merge revision(s) 57431: [DOC] Use Integer instead of Fixnum [ci skip] ------------------------------------------------------------------------ r57874 | naruse | 2017-03-12 03:09:45 +0900 (Sun, 12 Mar 2017) | 8 lines merge revision(s) 57428: Add document for lib/rss/atom.rb [fix GH-1520] Patch by Tsehau Chao. Thanks!!! ------------------------------------------------------------------------ r57873 | naruse | 2017-03-12 03:07:38 +0900 (Sun, 12 Mar 2017) | 6 lines merge revision(s) 57423: Fix function name for DBM on extension document. Patch by Yuji Yaginuma, @y-yagi <yuuji.yaginuma@gmail.com> [ci skip][fix GH-1519] ------------------------------------------------------------------------ r57872 | naruse | 2017-03-12 03:07:19 +0900 (Sun, 12 Mar 2017) | 6 lines merge revision(s) 57422: [Backport #13158] io.c: close before wait * io.c (io_close_fptr): notify then close, and wait for other threads before free fptr. [ruby-core:79262] [Bug #13158] ------------------------------------------------------------------------ r57871 | naruse | 2017-03-12 02:56:02 +0900 (Sun, 12 Mar 2017) | 5 lines merge revision(s) 57421: [DOC] Add empty example to enum.all? and any? [ci skip] ------------------------------------------------------------------------ r57870 | naruse | 2017-03-12 02:55:02 +0900 (Sun, 12 Mar 2017) | 5 lines merge revision(s) 57411: [Backport #13147] Fix typo of URI#escape [Bug #13147] patched by Steve Hill <sghill.dev@gmail.com> ------------------------------------------------------------------------ r57869 | naruse | 2017-03-12 02:51:05 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57407: [Backport #13145] object.c: no TypeError at Symbol * object.c (special_object_p): uninterned Symbol also should not raise a TypeError but return itself instead, as well as interned Symbols. [ruby-core:79216] [Bug #13145] ------------------------------------------------------------------------ r57868 | naruse | 2017-03-12 02:45:18 +0900 (Sun, 12 Mar 2017) | 6 lines merge revision(s) 57406: [Backport #13149] csv.rb: fix field_size_limit check * lib/csv.rb (CSV#shift): the last column is an Array in extended column since r55985. [ruby-dev:49964] [Bug #13149] ------------------------------------------------------------------------ r57867 | naruse | 2017-03-12 02:40:39 +0900 (Sun, 12 Mar 2017) | 8 lines merge revision(s) 57405: error.c: fixed doc [ci skip] * error.c (exc_message): fixed doc regarding the presence of to_str. [Fix GH-1517] Author: Marc Gauthier <marcg.gauthier@gmail.com> ------------------------------------------------------------------------ r57866 | naruse | 2017-03-12 02:40:32 +0900 (Sun, 12 Mar 2017) | 6 lines merge revision(s) 57390: Hash#fetch: fix grammar in documentation. [Fix GH-1515][ci skip] Author: Alyssa Ross <hi+services.github@alyssa.is> ------------------------------------------------------------------------ r57865 | naruse | 2017-03-12 02:37:46 +0900 (Sun, 12 Mar 2017) | 3 lines merge revision(s) 57375: More description about the protected attribute of a method ------------------------------------------------------------------------ r57864 | naruse | 2017-03-12 02:35:03 +0900 (Sun, 12 Mar 2017) | 5 lines merge revision(s) 57374: [Backport #13135] string.c: rindex(//) should set $~. This seems a bug introduced by r520 (1.4.0). [ruby-core:79110] [Bug #13135] ------------------------------------------------------------------------ r57863 | naruse | 2017-03-12 02:28:49 +0900 (Sun, 12 Mar 2017) | 5 lines merge revision(s) 57372: Fix documentation of options for all of methods in FileUtils. Patch by galia traub( @galiat ). [Fix GH-1510][ci skip] ------------------------------------------------------------------------ r57862 | naruse | 2017-03-12 02:22:39 +0900 (Sun, 12 Mar 2017) | 6 lines merge revision(s) 57362: [Backport #13096] vm_method.c: resolve refined method to undef * vm_method.c (rb_undef): resolve the method entry which refines a prepended method entry. [ruby-core:78944] [Bug #13096] ------------------------------------------------------------------------ r57861 | naruse | 2017-03-12 02:17:23 +0900 (Sun, 12 Mar 2017) | 6 lines merge revision(s) 57360: [Backport #12884] class.c: non-keyword hash class * class.c (rb_extract_keywords): keep the class of non-keyword elements hash as the original. [ruby-core:77813] [Bug #12884] ------------------------------------------------------------------------ r57860 | naruse | 2017-03-12 02:10:01 +0900 (Sun, 12 Mar 2017) | 11 lines merge revision(s) 57352: [Backport #13132] doc: improve documentation for Binding [ci skip] * remove explicit return from code examples * grammar fixes * other small fixes Patch by: Marcus Stollsteimer <sto.mar@web.de> [ruby-core:79082] [Bug #13132] ------------------------------------------------------------------------ r57859 | naruse | 2017-03-12 02:09:43 +0900 (Sun, 12 Mar 2017) | 9 lines merge revision(s) 57335: s/SaveStringValue/SafeStringValue/ Fix a typo in extension.rdoc. Signed-off-by: Akira Matsuda <ronnie@dio.jp> closes #1512 ------------------------------------------------------------------------ r57858 | naruse | 2017-03-12 02:07:53 +0900 (Sun, 12 Mar 2017) | 11 lines merge revision(s) 57317,57318: error.c: moved * error.c (preface_dump, postscript_dump): moved from rb_vm_bugreport to place the last important message at the very last after [NOTE]. error.c: moved * error.c (preface_dump, postscript_dump): CrashReporter directory was used before Mac OS X 10.6. ------------------------------------------------------------------------ r57857 | naruse | 2017-03-12 02:06:18 +0900 (Sun, 12 Mar 2017) | 6 lines merge revision(s) 57315: vm_dump.c: postscript_dump * vm_dump.c (postscript_dump): mention crash report log twice because important. ------------------------------------------------------------------------ r57856 | naruse | 2017-03-12 01:44:40 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57305: [Backport #13114] [Backport #13120] variable.c: fix the condition to cache * variable.c (rb_const_set): fix the condition to cache the class path and cache permanent or temporary path corresponding to the outer klass. [ruby-core:79039] [Bug #13120] ------------------------------------------------------------------------ r57855 | naruse | 2017-03-12 01:38:53 +0900 (Sun, 12 Mar 2017) | 14 lines merge revision(s) 57302,57303,57304: [Backport #13119] string.c: block for scrub with ASCII-incompatible * string.c (rb_enc_str_scrub): honor the given block with ASCII-incompatible encoding. [ruby-core:79039] [Bug #13120] string.c: yield invalid part * string.c (rb_enc_str_scrub): yield the invalid part only with ASCII-incompatible. [ruby-core:79039] [Bug #13120] string.c: replacement and block * string.c (rb_enc_str_scrub): only one of replacement and block is allowed. [ruby-core:79038] [Bug #13119] ------------------------------------------------------------------------ r57854 | naruse | 2017-03-12 01:29:51 +0900 (Sun, 12 Mar 2017) | 10 lines merge revision(s) 57300,57368: [Backport #12613] compile.c: check compile * compile.c (iseq_compile_each): check if sub nodes succeeded. [ruby-core:76531] [Bug #12613] compile.c: check err_info * compile.c (iseq_setup): bail out if any errors found. [ruby-core:76531] [Bug #12613] ------------------------------------------------------------------------ r57853 | naruse | 2017-03-12 01:24:17 +0900 (Sun, 12 Mar 2017) | 7 lines merge revision(s) 57293: [Backport #13107] vm_insnhelper.c: block argument at tailcall * vm_insnhelper.c (vm_call_iseq_setup_tailcall): check interrupts after set up the new frame, not the passed block to be clobbered by invoked finalizers and so on. [ruby-core:78981] [Bug #13107] ------------------------------------------------------------------------ r57850 | naruse | 2017-03-12 00:03:50 +0900 (Sun, 12 Mar 2017) | 8 lines merge revision(s) 57283,57284: [Backport #13113] benchmarks for [Bug #13113] [ci skip] variable.c: resolve permanent name only * variable.c (rb_const_set): resolve and cache class name immediately only if the outer class/module has the name, otherwise just set the ID. [ruby-core:79007] [Bug #13113] ------------------------------------------------------------------------ r57849 | naruse | 2017-03-11 23:59:43 +0900 (Sat, 11 Mar 2017) | 10 lines merge revision(s) 57280,57282: [Backport #13112] console.c: OOB access * ext/io/console/console.c (console_set_winsize): fix out-of-bounds access. [ruby-core:79004] [Bug #13112] console.c: unpaired size * ext/io/console/console.c (console_set_winsize): reject unpaired pixel size. ------------------------------------------------------------------------ r57848 | naruse | 2017-03-11 23:48:04 +0900 (Sat, 11 Mar 2017) | 11 lines merge revision(s) 57278,57279: [Backport #12855] fix optimization for hash aset/aref with fstring Patch by Eric Wong [ruby-core:78797]. I don't like the idea of making insns.def any bigger to support a corner case, and "test_hash_aref_fstring_identity" shows how contrived this is. [ruby-core:78783] [Bug #12855] adjust indent [ci skip] ------------------------------------------------------------------------ r57847 | naruse | 2017-03-11 23:25:54 +0900 (Sat, 11 Mar 2017) | 8 lines merge revision(s) 57240: [Backport #13090] vm.c: fix return in lambda * vm.c (invoke_block_from_c_splattable): pass lambda-ness. * vm_eval.c (yield_under): invoke lambda proc properly. [ruby-core:78917] [Bug #13090] ------------------------------------------------------------------------ r57846 | naruse | 2017-03-11 23:20:51 +0900 (Sat, 11 Mar 2017) | 7 lines merge revision(s) 57236: [Backport #13089] rational.c: memory leak in gcd * rational.c (rb_gcd_gmp): fix memory leak. patched by KISHIMOTO, Makoto <ksmakoto AT dd.iij4u.or.jp> in [ruby-dev:49934]. [Bug #13089] ------------------------------------------------------------------------ r57845 | naruse | 2017-03-11 22:36:26 +0900 (Sat, 11 Mar 2017) | 6 lines merge revision(s) 57205: cont.c: change fiber stack size doc [ci skip] It's many years since we had tiny 4KB fiber stacks :< point to the manpage instead for current, larger sizes. ------------------------------------------------------------------------ r57844 | naruse | 2017-03-11 22:35:55 +0900 (Sat, 11 Mar 2017) | 3 lines merge revision(s) 57246: [Backport #13091] fix typo [Bug #13091] ------------------------------------------------------------------------ r57843 | naruse | 2017-03-11 22:35:22 +0900 (Sat, 11 Mar 2017) | 6 lines merge revision(s) 57232: [Backport #13084] rational.c: fix for mathn * rational.c (read_num, read_rat_nos): dispatch by the type of numerator, for mathn. [ruby-core:78893] [Bug #13084] ------------------------------------------------------------------------ r57841 | naruse | 2017-03-11 22:23:42 +0900 (Sat, 11 Mar 2017) | 5 lines merge revision(s) 57204: r57203 needs r57204. io.c: use io_close to close ARGF ------------------------------------------------------------------------ r57840 | naruse | 2017-03-11 22:03:46 +0900 (Sat, 11 Mar 2017) | 6 lines merge revision(s) 57227: [Backport #13078] numeric.c: reduce fdiv * numeric.c (rb_int_fdiv_double): reduce first for more precise result. [ruby-core:78886] [Bug #13078] ------------------------------------------------------------------------ r57839 | naruse | 2017-03-11 22:02:37 +0900 (Sat, 11 Mar 2017) | 6 lines merge revision(s) 57203: io.c: ARGF fd leak * io.c (argf_next_argv): fix leak of fd after breaking in #each method. ------------------------------------------------------------------------ r57838 | naruse | 2017-03-11 22:02:01 +0900 (Sat, 11 Mar 2017) | 22 lines merge revision(s) 57199,57202,57206,57224: [Backport #13076] io.c: fix race between read and close * io.c (io_fillbuf): fix race between read and close, in the case the IO gets closed before the reading thread achieve the lock. [ruby-core:78845] [Bug #13076] thread.c: fix race between read and close * thread.c (rb_thread_fd_close): wait until all threads using the fd finish the operation, not to free the buffer in use. [ruby-core:78845] [Bug #13076] revert a part of r57199 * io.c (io_fillbuf): revert a part of r57199 because it broke IO#getch. see also [Bug #13076] io.c: fix race between read and close * io.c (io_fillbuf): fix race between read and close and bail out in the case the IO gets closed before the reading thread achieve the lock. [ruby-core:78845] [Bug #13076] ------------------------------------------------------------------------ r57837 | naruse | 2017-03-11 21:53:45 +0900 (Sat, 11 Mar 2017) | 6 lines merge revision(s) 57198: [Backport #13073] parse.y: preserve cmdarg stack * parse.y (do_body): preserve cmdarg stack around do/end block. [ruby-core:78837] [Bug #13073] ------------------------------------------------------------------------ r57834 | naruse | 2017-03-11 20:06:39 +0900 (Sat, 11 Mar 2017) | 6 lines merge revision(s) 57194: [Backport #13074] vm_eval.c: Symbol#to_proc and instance_exec * vm_eval.c (yield_under): should evaluate the proc on the first argument. [ruby-core:78839] [Bug #13074] ------------------------------------------------------------------------ r57833 | naruse | 2017-03-11 19:44:13 +0900 (Sat, 11 Mar 2017) | 18 lines merge revision(s) 57187,57234: [Backport #13075] pack.c: avoid returning uninitialized String Fix unpacking with 'b', 'B', 'h' and 'H' format. Do not return an uninitialized String to Ruby before filling the content bytes. Fixes r11175 ("pack.c (pack_unpack): execute block if given with unpacked value instead of creating an array", 2006-10-15). [ruby-core:78841] [Bug #13075] test/ruby/test_pack.rb: fix test case added by r57187 The test case for String#unpack added by r57187 is not properly testing because the String will be filled after the block invocation. [ruby-core:78841] [Bug #13075] Thanks to nagachika for pointing this out: http://d.hatena.ne.jp/nagachika/20161226/ruby_trunk_changes_57184_57194#r57187 ------------------------------------------------------------------------ r57832 | naruse | 2017-03-11 19:37:09 +0900 (Sat, 11 Mar 2017) | 5 lines merge revision(s) 57179: bignum.c: precise fdiv * bignum.c (big_fdiv): more precise calculation. [ruby-dev:49915] ------------------------------------------------------------------------ r57831 | naruse | 2017-03-11 19:28:14 +0900 (Sat, 11 Mar 2017) | 24 lines merge revision(s) 57173-57175: [Backport #13068] ------------------------------------------------------------------------ r57173 | nobu | 2016-12-24 22:19:50 +0900 (Sat, 24 Dec 2016) | 4 lines compile.c: constify * compile.c (method_for_self): constify an argument of build function for VC6. ------------------------------------------------------------------------ r57174 | nobu | 2016-12-24 22:21:30 +0900 (Sat, 24 Dec 2016) | 4 lines hash.c: split long long literals * hash.c (prime1, prime2): split long long literals for platforms where LL suffix is not supported, e.g., VC6. ------------------------------------------------------------------------ r57175 | nobu | 2016-12-24 22:22:53 +0900 (Sat, 24 Dec 2016) | 4 lines regint.h: version for secure functions * regint.h (xvsnprintf): secure version functions are not supported on old VC. ------------------------------------------------------------------------ r57830 | naruse | 2017-03-11 19:17:35 +0900 (Sat, 11 Mar 2017) | 21 lines merge revision(s) 57170-57172: [Backport #13066] test/unit.rb: restore parallel option * test/lib/test/unit.rb (_run_parallel): restore parallel option after retrying for --repeat-count option. ------------------------------------------------------------------------ r57170 | nobu | 2016-12-24 20:56:12 +0900 (Sat, 24 Dec 2016) | 1 line time.c: fix typo in value_insane_p ------------------------------------------------------------------------ r57171 | nobu | 2016-12-24 21:19:23 +0900 (Sat, 24 Dec 2016) | 1 line time.c: remove debug code ------------------------------------------------------------------------ r57172 | nobu | 2016-12-24 21:21:52 +0900 (Sat, 24 Dec 2016) | 4 lines time.c: fix type of usec2subsecx * time.c (usec2subsecx): fix return type, which is a numeric object but not a long int. [ruby-dev:49912] [Bug #13066] ------------------------------------------------------------------------ r57163 | svn | 2016-12-24 01:03:40 +0900 (Sat, 24 Dec 2016) | 1 line * 2016-12-24 ------------------------------------------------------------------------ r57162 | naruse | 2016-12-24 01:03:39 +0900 (Sat, 24 Dec 2016) | 2 lines v2.4.0p0 ------------------------------------------------------------------------ r57161 | naruse | 2016-12-24 00:44:33 +0900 (Sat, 24 Dec 2016) | 1 line Release branch of Ruby 2.4 ------------------------------------------------------------------------ r57160 | naruse | 2016-12-23 23:54:04 +0900 (Fri, 23 Dec 2016) | 3 lines Increase timeout http://rubyci.org/logs/rubyci.s3.amazonaws.com/aix71_ppc/ruby-trunk/log/20161223T113301Z.fail.html.gz ------------------------------------------------------------------------ r57159 | nobu | 2016-12-23 12:22:36 +0900 (Fri, 23 Dec 2016) | 5 lines assertions.rb: prepare_syntax_check * test/lib/test/unit/assertions.rb (prepare_syntax_check): extract common preparation of arguments from assert_valid_syntax and assert_syntax_error. ------------------------------------------------------------------------ r57158 | nobu | 2016-12-23 12:22:35 +0900 (Fri, 23 Dec 2016) | 8 lines assertions.rb: syntax check by iseq * test/lib/test/unit/assertions.rb (assert_valid_syntax): use RubyVM::InstructionSequence.compile to get rid of executing the code, instead of catch&throw. sample/trick2015/kinaba/entry.rb no longer raises an Invalid return. * test/lib/test/unit/assertions.rb (assert_syntax_error): ditto. ------------------------------------------------------------------------ r57157 | nobu | 2016-12-23 09:05:40 +0900 (Fri, 23 Dec 2016) | 4 lines time.c: inquire suspicious values * time.c (time_arg): dump sec and subsec arguments if subsecx is insane. ------------------------------------------------------------------------ r57156 | nobu | 2016-12-23 08:20:00 +0900 (Fri, 23 Dec 2016) | 5 lines test_modify_expand.rb: skip if no overflow * test/-ext-/string/test_modify_expand.rb (test_integer_overflow): no longer happens on platforms where size_t is larger than long, e.g. 64bit windows, since r57122. ------------------------------------------------------------------------ r57155 | nobu | 2016-12-23 07:34:18 +0900 (Fri, 23 Dec 2016) | 1 line time.c: inquire suspicious values ------------------------------------------------------------------------ r57154 | nobu | 2016-12-23 07:16:19 +0900 (Fri, 23 Dec 2016) | 4 lines string.c: suppress a warning * string.c (rb_str_casecmp_p): [DOC] use Unicode escape form to get rid of warning C4819 by Microsoft Visual C++. ------------------------------------------------------------------------ r57153 | svn | 2016-12-23 05:58:55 +0900 (Fri, 23 Dec 2016) | 1 line * 2016-12-23 ------------------------------------------------------------------------ r57152 | nobu | 2016-12-23 05:58:55 +0900 (Fri, 23 Dec 2016) | 1 line get rid of implicit signedness conversions ------------------------------------------------------------------------ r57151 | yui-knk | 2016-12-22 19:29:40 +0900 (Thu, 22 Dec 2016) | 4 lines test_float.rb: add test cases for Float#round * test_float.rb: add test cases for Float#round with half nil. Follow up r57130. ------------------------------------------------------------------------ r57150 | naruse | 2016-12-22 18:44:30 +0900 (Thu, 22 Dec 2016) | 3 lines suppress warning: implicit conversion changes signedness It causes [Bug #13060] ------------------------------------------------------------------------ r57149 | rhe | 2016-12-22 13:40:28 +0900 (Thu, 22 Dec 2016) | 4 lines io.c: [DOC] update outdated documentation of ARGF.close As of Ruby 2.3, IO#close no longer raises IOError if the file is already closed. ------------------------------------------------------------------------ r57148 | hsbt | 2016-12-22 12:53:53 +0900 (Thu, 22 Dec 2016) | 1 line Update xmlrpc-0.2.1 for Ruby 2.4.0 release. ------------------------------------------------------------------------ r57147 | nobu | 2016-12-22 11:00:02 +0900 (Thu, 22 Dec 2016) | 4 lines test_rinda.rb: ipv6_mc * test/rinda/test_rinda.rb (RingIPv6#ipv6_mc): extract IPv6 multicast setup and cleanup, and ignore ENETDOWN. ------------------------------------------------------------------------ r57146 | rhe | 2016-12-22 10:43:41 +0900 (Thu, 22 Dec 2016) | 14 lines openssl: import v2.0.2 Import Ruby/OpenSSL 2.0.2. This release contains only bugfixes. The full commit log since 2.0.1 (imported at r57041) can be found at: https://github.com/ruby/openssl/compare/v2.0.1...v2.0.2 ---------------------------------------------------------------- Kazuki Yamaguchi (5): ssl: check for SSL_CTX_clear_options() Rename functions in openssl_missing.c ssl: use SSL_SESSION_get_protocol_version() pkey: allow instantiating OpenSSL::PKey::PKey with unsupported key type Ruby/OpenSSL 2.0.2 ------------------------------------------------------------------------ r57145 | mrkn | 2016-12-22 00:35:29 +0900 (Thu, 22 Dec 2016) | 5 lines bigdecimal: version 1.3.0 Import bigdecimal version 1.3.0. The full commit log is here: https://github.com/ruby/bigdecimal/compare/v1.3.0.pre.2...v1.3.0 ------------------------------------------------------------------------ r57144 | svn | 2016-12-22 00:21:20 +0900 (Thu, 22 Dec 2016) | 1 line * 2016-12-22 ------------------------------------------------------------------------ r57143 | ngoto | 2016-12-22 00:21:19 +0900 (Thu, 22 Dec 2016) | 5 lines regcomp.c: Fix compile error with old version of fcc on Solaris * regcomp.c (get_min_match_length): Fix compile error with old version of fcc (Fujitsu C Compiler) on Solaris 10. [Bug #13059][ruby-dev:49909] ------------------------------------------------------------------------ r57142 | nobu | 2016-12-21 22:46:46 +0900 (Wed, 21 Dec 2016) | 1 line time.c: debug print ------------------------------------------------------------------------ r57141 | yui-knk | 2016-12-21 22:26:16 +0900 (Wed, 21 Dec 2016) | 4 lines numeric.c: remove not used lines * numeric.c (rb_num_get_rounding_option): remove not used lines. After r57130 these lines are never reached. ------------------------------------------------------------------------ r57140 | nobu | 2016-12-21 21:06:40 +0900 (Wed, 21 Dec 2016) | 4 lines time.c: refine num_exact error message * time.c (num_exact): show the original argument when conversion failed, instead of intermediate nil. ------------------------------------------------------------------------ r57139 | nobu | 2016-12-21 21:05:41 +0900 (Wed, 21 Dec 2016) | 4 lines time.c: use RB_TYPE_P * time.c (time_timespec): use RB_TYPE_P instead of switching by TYPE. ------------------------------------------------------------------------ r57138 | nobu | 2016-12-21 20:20:02 +0900 (Wed, 21 Dec 2016) | 4 lines st.c: suppress a warning * st.c (st_hash): suppress unused label warning on 32bit platforms. fix up r57134. ------------------------------------------------------------------------ r57137 | nobu | 2016-12-21 20:12:39 +0900 (Wed, 21 Dec 2016) | 4 lines eval.c: fix circular cause * eval.c (exc_setup_cause): always set cause of cause to get rid of circular references. [ruby-core:78688] [Bug #13043] ------------------------------------------------------------------------ r57136 | usa | 2016-12-21 17:13:42 +0900 (Wed, 21 Dec 2016) | 2 lines * win32/win32.c (winnt_stat): use `numberof` macro instead of constant. ------------------------------------------------------------------------ r57135 | usa | 2016-12-21 16:50:14 +0900 (Wed, 21 Dec 2016) | 8 lines Fixed potentially buffer overrun. * win32/win32.c (winnt_stat): the return value of `get_final_path` is the expected buffer length, not the actuall filled length. * win32/win32.c (winnt_stat): `finalname` may be accessed in the outer block of its definition via `path`. ------------------------------------------------------------------------ r57134 | nobu | 2016-12-21 15:22:16 +0900 (Wed, 21 Dec 2016) | 29 lines st.c: fix st_hash* functions [Bug #13019] Previous implementation had an issues: - macros murmur1 assumes murmur_step takes rotation value as a second argument - but murmur_step second argument is "next block" - this makes st_hash_uint and st_hash_end to not mix high bits of hash value into lower bits - this leads to pure hash behavior on doubles and mixing hashes using st_hash_uint. It didn't matter when bins amount were prime numbers, but it hurts when bins are powers of two. Mistake were created cause of attempt to co-exist Murmur1 and Murmur2 in a same code. Change it to single hash-function implementation. - block function is in a spirit of Murmur functions, but handles inter-block dependency a bit better (imho). - final block is read in bit more optimal way on CPU with unaligned word access, - final block is mixed in simple way, - finalizer is taken from MurmurHash3 (it makes most of magic :) ) (64bit finalizer is taken from http://zimbry.blogspot.ru/2011/09/better-bit-mixing-improving-on.html) Also remove ST_USE_FNV1: it lacks implementation of many functions, and looks to be abandoned Author: Sokolov Yura aka funny_falcon <funny.falcon@gmail.com> ------------------------------------------------------------------------ r57133 | akr | 2016-12-21 14:26:35 +0900 (Wed, 21 Dec 2016) | 2 lines [DOC] itemize values for half option of Float#round. ------------------------------------------------------------------------ r57132 | nobu | 2016-12-21 10:58:32 +0900 (Wed, 21 Dec 2016) | 4 lines compile.c: toplevel return * compile.c (iseq_compile_each): stop execution of the current source by toplevel return. [ruby-core:36785] [Feature #4840] ------------------------------------------------------------------------ r57131 | nobu | 2016-12-21 10:29:58 +0900 (Wed, 21 Dec 2016) | 3 lines numeric.c: rdoc of half option [ci skip] * numeric.c (flo_round): [DOC] mention half option. [Bug #12548] ------------------------------------------------------------------------ r57130 | nobu | 2016-12-21 10:29:57 +0900 (Wed, 21 Dec 2016) | 4 lines numeric.c: allow nil as rounding mode option * numeric.c (rb_num_get_rounding_option): allow nil same as the default behavior, per [ruby-core:77961]. [Bug #12548] ------------------------------------------------------------------------ r57129 | nobu | 2016-12-21 02:15:37 +0900 (Wed, 21 Dec 2016) | 4 lines rdoc for r57126 [ci skip] * ext/zlib/zlib.c: [DOC] update as keyword arguments. [Feature #13020] ------------------------------------------------------------------------ r57128 | svn | 2016-12-21 01:02:22 +0900 (Wed, 21 Dec 2016) | 1 line * 2016-12-21 ------------------------------------------------------------------------ r57127 | naruse | 2016-12-21 01:02:22 +0900 (Wed, 21 Dec 2016) | 1 line suppress warning: attempt to close unfinished zstream; reset forced. ------------------------------------------------------------------------ r57126 | naruse | 2016-12-21 01:02:21 +0900 (Wed, 21 Dec 2016) | 1 line Zlib.gzip uses kwargs instead of argc [Feature #13020] ------------------------------------------------------------------------ r57125 | nobu | 2016-12-20 17:25:03 +0900 (Tue, 20 Dec 2016) | 4 lines io.c: update argf lineno * io.c (argf_rewind): rewind line number in non-global ARGF instance. ------------------------------------------------------------------------ r57124 | nobu | 2016-12-20 17:25:02 +0900 (Tue, 20 Dec 2016) | 4 lines io.c: update argf lineno * io.c (argf_block_call_line): update line number in non-global ARGF instance. [ruby-core:78728] [Bug #13051] ------------------------------------------------------------------------ r57123 | rhe | 2016-12-20 16:32:23 +0900 (Tue, 20 Dec 2016) | 5 lines re.c: consider the case of RMatch::regexp is nil Follow r49675, r57098 and r57110. Don't assume RMatch::regexp always contains a valid Regexp instance; it will be Qnil if the MatchData is created by rb_backref_set_string(). [ruby-core:78741] [Bug #13054] ------------------------------------------------------------------------ r57122 | rhe | 2016-12-20 15:53:45 +0900 (Tue, 20 Dec 2016) | 5 lines string.c: add missing size_t cast Add size_t cast to avoid signed integer overflow. r56157 ("string.c: avoid signed integer overflow", 2016-09-13) missed this. Suppresses UBSan. ------------------------------------------------------------------------ r57121 | rhe | 2016-12-20 15:53:44 +0900 (Tue, 20 Dec 2016) | 6 lines array.c: do not resize to less than 0 Shrinking the Array from the block invoked by Array#select! or Array#reject! causes the Array to be a negative number size. Ensure that the resulting Array won't be smaller than 0. [ruby-core:78739] [Bug #13053] ------------------------------------------------------------------------ r57120 | yuki | 2016-12-20 15:53:17 +0900 (Tue, 20 Dec 2016) | 2 lines * gems/bundled_gems: Upgrade the did_you_mean gem to 1.1.0 ------------------------------------------------------------------------ r57119 | rhe | 2016-12-20 14:26:08 +0900 (Tue, 20 Dec 2016) | 8 lines array.c: check array length every time after yielding Since the Array may be modified during rb_yield(), the length before invoking the block can't be trusted. Fix possible out-of-bounds read in Array#combination and Array#repeated_combination. It may better to make a defensive copy of the Array, but for now let's follow what Array#permutation does. [ruby-core:78738] [Bug #13052] ------------------------------------------------------------------------ r57118 | rhe | 2016-12-20 14:26:07 +0900 (Tue, 20 Dec 2016) | 10 lines proc.c: assume rb_iseq_location_t::first_lineno is always a Fixnum Do not check for the value of rb_iseq_constant_body::line_info_table as it is no longer related. The checks seem to be the remains from the day before the dedicated 'first_lineno' field was introduced. Remove them. Note, rb_iseq_constant_body::line_info_table can be NULL only when the iseq does not contain any instructions that originate from Ruby code, for example, an iseq created with 'proc {}' under a non-default compile options where trace instructions are disabled. ------------------------------------------------------------------------ r57117 | svn | 2016-12-20 14:09:18 +0900 (Tue, 20 Dec 2016) | 1 line * 2016-12-20 ------------------------------------------------------------------------ r57116 | nobu | 2016-12-20 14:09:18 +0900 (Tue, 20 Dec 2016) | 4 lines test/unit.rb: separator [ci skip] * test/lib/test/unit.rb (ExcludesOption#setup_options): add separator for --excludes-dir in help message. ------------------------------------------------------------------------ r57115 | nobu | 2016-12-19 17:36:21 +0900 (Mon, 19 Dec 2016) | 4 lines time.c: refine error message * time.c (validate_vtm): separate validation failure messages for each members. ------------------------------------------------------------------------ r57114 | nobu | 2016-12-19 13:07:40 +0900 (Mon, 19 Dec 2016) | 4 lines re.c: RB_TYPE_P * re.c (match_backref_number, namev_to_backref_number): use RB_TYPE_P instead of switching by TYPE. ------------------------------------------------------------------------ r57113 | svn | 2016-12-19 12:11:58 +0900 (Mon, 19 Dec 2016) | 1 line * 2016-12-19 ------------------------------------------------------------------------ r57112 | nobu | 2016-12-19 12:11:57 +0900 (Mon, 19 Dec 2016) | 4 lines re.c: NAME_TO_NUMBER * re.c (namev_to_backref_number, rb_reg_regsub): extract name to backref number check as NAME_TO_NUMBER. ------------------------------------------------------------------------ r57111 | ktsj | 2016-12-18 21:29:34 +0900 (Sun, 18 Dec 2016) | 1 line doc/standard_library.rdoc: Tk is removed from stdlib ------------------------------------------------------------------------ r57110 | nobu | 2016-12-18 20:43:51 +0900 (Sun, 18 Dec 2016) | 4 lines re.c: use name_to_backref_number * re.c (match_backref_number): use name_to_backref_number for casts. ------------------------------------------------------------------------ r57109 | naruse | 2016-12-18 20:28:01 +0900 (Sun, 18 Dec 2016) | 3 lines Increase timeout http://rubyci.s3.amazonaws.com/unstable10s/ruby-trunk/log/20161215T021909Z.fail.html.gz ------------------------------------------------------------------------ r57108 | nobu | 2016-12-18 03:04:30 +0900 (Sun, 18 Dec 2016) | 4 lines sprintf.c: fix width underflow * sprintf.c (rb_str_format): fix memory corruption by width underflow. https://github.com/mruby/mruby/issues/3347 ------------------------------------------------------------------------ r57107 | svn | 2016-12-18 01:10:57 +0900 (Sun, 18 Dec 2016) | 1 line * 2016-12-18 ------------------------------------------------------------------------ r57106 | naruse | 2016-12-18 01:10:56 +0900 (Sun, 18 Dec 2016) | 3 lines Increase timeout http://rubyci.org/logs/13.78.52.201/vc12-x64/ruby-trunk/log/20161217T103523Z.log.html.gz ------------------------------------------------------------------------ r57105 | rhe | 2016-12-17 17:25:34 +0900 (Sat, 17 Dec 2016) | 3 lines compile.c: do not emit numeric literal range in void context A fix-up for r56316. Fix stack consistency error on '1..3; nil'. ------------------------------------------------------------------------ r57104 | nobu | 2016-12-17 16:48:58 +0900 (Sat, 17 Dec 2016) | 1 line Reapply r57093,r57094,r57097 "dtrace build fixes on FreeBSD" ------------------------------------------------------------------------ r57103 | nobu | 2016-12-17 16:48:57 +0900 (Sat, 17 Dec 2016) | 3 lines Reapply r57092 "configure.in: repeated checks" Needs DTRACE_OBJ when "$rb_cv_prog_dtrace_g" = rebuild, too. ------------------------------------------------------------------------ r57102 | nobu | 2016-12-17 14:27:05 +0900 (Sat, 17 Dec 2016) | 1 line Revert r57092 "configure.in: repeated checks" ------------------------------------------------------------------------ r57101 | naruse | 2016-12-17 14:14:14 +0900 (Sat, 17 Dec 2016) | 1 line Revert r57093,r57094,r57097 "dtrace build fixes on FreeBSD" ------------------------------------------------------------------------ r57100 | nobu | 2016-12-17 09:58:47 +0900 (Sat, 17 Dec 2016) | 4 lines test_mailto.rb: overwritten methods * test/uri/test_mailto.rb (URI::TestMailTo#test_to_mailtext): merge overwritten methods. [Bug #10774] ------------------------------------------------------------------------ r57099 | nobu | 2016-12-17 09:58:46 +0900 (Sat, 17 Dec 2016) | 1 line test_mailto.rb: adjust scope ------------------------------------------------------------------------ r57098 | nobu | 2016-12-17 09:52:47 +0900 (Sat, 17 Dec 2016) | 4 lines re.c: non-regexp name reference * re.c (rb_reg_regsub): other than regexp has no name references. [ruby-core:78686] [Bug #13042] ------------------------------------------------------------------------ r57097 | nobu | 2016-12-17 09:01:42 +0900 (Sat, 17 Dec 2016) | 4 lines configure.in: fix r57093 * configure.in (RUBY_DTRACE_AVAILABLE): try -xnolibs first. [ruby-core:78676] [Bug #13041] ------------------------------------------------------------------------ r57096 | svn | 2016-12-17 07:57:02 +0900 (Sat, 17 Dec 2016) | 1 line * 2016-12-17 ------------------------------------------------------------------------ r57095 | nobu | 2016-12-17 07:57:01 +0900 (Sat, 17 Dec 2016) | 4 lines fix r57089 * parse.y (parser_heredoc_identifier): fix multiline here document identifier condition. ------------------------------------------------------------------------ r57094 | nobu | 2016-12-16 21:28:19 +0900 (Fri, 16 Dec 2016) | 3 lines garbage space [ci skip] * configure.in (RUBY_DTRACE_AVAILABLE): remove a garbage space. ------------------------------------------------------------------------ r57093 | nobu | 2016-12-16 21:16:33 +0900 (Fri, 16 Dec 2016) | 5 lines dtrace build fixes on FreeBSD * configure.in (RUBY_DTRACE_AVAILABLE, RUBY_DTRACE_POSTPROCESS): incorporate dtrace build fix on FreeBSD, dtrace needs -xnolibs in a jail. [ruby-core:78676] [Bug #13041] ------------------------------------------------------------------------ r57092 | nobu | 2016-12-16 20:59:57 +0900 (Fri, 16 Dec 2016) | 4 lines configure.in: repeated checks * configure.in (enable_dtrace): reduce repeated RUBY_DTRACE_AVAILABLE checks. ------------------------------------------------------------------------ r57091 | nobu | 2016-12-16 14:05:42 +0900 (Fri, 16 Dec 2016) | 4 lines no crypt.h on FreeBSD 12 * string.c (crypt.h): crypt_r() was added in FreeBSD 12.0 but is declared in unistd.h. [ruby-core:78664] [Bug #13038] ------------------------------------------------------------------------ r57090 | nobu | 2016-12-16 12:30:26 +0900 (Fri, 16 Dec 2016) | 4 lines configure.in: no crypt.h on FreeBSD 12 * configure.in (crypt.h): crypt_r() was added in FreeBSD 12.0 but is declared in unistd.h. [ruby-core:78664] [Bug #13038] ------------------------------------------------------------------------ r57089 | nobu | 2016-12-16 10:27:47 +0900 (Fri, 16 Dec 2016) | 4 lines multiline heredoc identifier * parse.y (parser_heredoc_identifier): reject multiline here document identifier, which never matches single line. ------------------------------------------------------------------------ r57088 | nobu | 2016-12-16 10:12:09 +0900 (Fri, 16 Dec 2016) | 6 lines fix chomping newline only line * string.c (chomp_newline): fix chomping newline only line. rb_enc_prev_char return NULL if no previous character and must not call rb_enc_ascget on it. a patch by Ary Borenszweig <asterite AT gmail.com> at [ruby-core:78666]. [Bug #13037] ------------------------------------------------------------------------ r57087 | svn | 2016-12-16 01:08:34 +0900 (Fri, 16 Dec 2016) | 1 line * 2016-12-16 ------------------------------------------------------------------------ r57086 | mrkn | 2016-12-16 01:08:33 +0900 (Fri, 16 Dec 2016) | 1 line NEWS: Fix the default rounding mode ------------------------------------------------------------------------ r57085 | nobu | 2016-12-15 21:58:59 +0900 (Thu, 15 Dec 2016) | 4 lines parse.y: newline in heredoc identifier * parse.y (parser_heredoc_identifier): warn newline in here document identifier. ------------------------------------------------------------------------ r57084 | hsbt | 2016-12-15 20:00:41 +0900 (Thu, 15 Dec 2016) | 1 line Added entry of psych 2.2.2 ------------------------------------------------------------------------ r57083 | hsbt | 2016-12-15 20:00:40 +0900 (Thu, 15 Dec 2016) | 3 lines Update psych-2.2.2 * It fixed only JRuby dependency issue. ------------------------------------------------------------------------ r57082 | nobu | 2016-12-15 15:22:09 +0900 (Thu, 15 Dec 2016) | 1 line parse.y: one warning, one line [ci skip] ------------------------------------------------------------------------ r57081 | usa | 2016-12-15 02:53:20 +0900 (Thu, 15 Dec 2016) | 5 lines Removed the obstacle to running test-all with VC14. * test/fiddle/test_import.rb (LIBC.fprintf): VC14's `fprintf` is very distinct name, then, just ignore this test. ------------------------------------------------------------------------ r57080 | svn | 2016-12-15 02:49:27 +0900 (Thu, 15 Dec 2016) | 1 line * 2016-12-15 ------------------------------------------------------------------------ r57079 | usa | 2016-12-15 02:49:26 +0900 (Thu, 15 Dec 2016) | 6 lines Fixed link error with VC14. * win32/mkexports.rb (Exports::Mswin#each_exports): should ignore `vsprintf_s_l` and the like just like `vsprintf_l`. [ruby-dev:49899] [Bug #13033] ------------------------------------------------------------------------ r57078 | rhe | 2016-12-14 21:32:42 +0900 (Wed, 14 Dec 2016) | 9 lines encoding.c: handle needmore error from rb_enc_precise_mbclen() rb_enc_ascget() erroneously reports success even if the given byte sequence is incomplete, for non-ASCII compatible encoding strings. rb_enc_precise_mbclen() may return a negative value on error, and thus rb_enc_ascget() must not store the return value in 'unsigned int'; otherwise the subsequent MBCLEN_CHARFOUND_P() check won't catch the error. [ruby-core:78646] [Bug #13034] ------------------------------------------------------------------------ r57077 | nobu | 2016-12-14 17:25:56 +0900 (Wed, 14 Dec 2016) | 5 lines vcs.rb: no ext/date in vcs.rb * tool/vcs.rb (VCS::GIT#export_changelog): do not require date extension library so that miniruby can run. [ruby-core:78641] [Bug #13032] ------------------------------------------------------------------------ r57076 | nobu | 2016-12-14 17:06:55 +0900 (Wed, 14 Dec 2016) | 4 lines constify * vm_dump.c (rb_vmdebug_debug_print_pre): constify pc argument for VMDEBUG. ------------------------------------------------------------------------ r57075 | nobu | 2016-12-14 16:30:41 +0900 (Wed, 14 Dec 2016) | 4 lines parse.y: curtail scanning * parse.y (parser_yyerror): curtail scanning range, not to exceed the max margin. ------------------------------------------------------------------------ r57074 | svn | 2016-12-14 13:35:29 +0900 (Wed, 14 Dec 2016) | 1 line * 2016-12-14 ------------------------------------------------------------------------ r57073 | nobu | 2016-12-14 13:35:28 +0900 (Wed, 14 Dec 2016) | 4 lines parse.y: fix yyerror message * parse.y (parser_yyerror): show the error line even if the error is at the end. ------------------------------------------------------------------------ r57072 | usa | 2016-12-13 14:17:48 +0900 (Tue, 13 Dec 2016) | 7 lines declare `rb_w32_sysinit` in header. * include/ruby/win32.h (rb_w32_sysinit): declare. [ruby-core:78444] [Bug #12994] * ruby.c (ruby_sysinit): follow above change. ------------------------------------------------------------------------ r57071 | nobu | 2016-12-13 12:55:14 +0900 (Tue, 13 Dec 2016) | 1 line require "irb/output-method" for StdioOutputMethod ------------------------------------------------------------------------ r57070 | nobu | 2016-12-13 12:55:13 +0900 (Tue, 13 Dec 2016) | 1 line make-snapshot: fix circular dependency ------------------------------------------------------------------------ r57069 | hsbt | 2016-12-13 11:01:34 +0900 (Tue, 13 Dec 2016) | 1 line Update description of XMLRPC section. ------------------------------------------------------------------------ r57068 | usa | 2016-12-13 01:18:45 +0900 (Tue, 13 Dec 2016) | 5 lines get rid of a test failure with VC10. * numeric.c (round_half_up, round_half_down): use `round` always because it's defined in this file even if doesn't exist. ------------------------------------------------------------------------ r57067 | svn | 2016-12-13 00:24:29 +0900 (Tue, 13 Dec 2016) | 1 line * 2016-12-13 ------------------------------------------------------------------------ r57066 | naruse | 2016-12-13 00:24:28 +0900 (Tue, 13 Dec 2016) | 4 lines Use URI.decode_www_form_component [Bug #10774] `parser` refered RFC2396_Parser, but it is separated. test is contributed by Dominik Menke ------------------------------------------------------------------------ r57065 | naruse | 2016-12-12 23:55:15 +0900 (Mon, 12 Dec 2016) | 4 lines st: Add 'static const' patched by Ken Takata [ruby-core:78558] https://github.com/k-takata/Onigmo/commit/44e3c0a16da1116be641ea807c1202434b743ace ------------------------------------------------------------------------ r57062 | naruse | 2016-12-12 22:37:27 +0900 (Mon, 12 Dec 2016) | 1 line fix command ------------------------------------------------------------------------ r57060 | naruse | 2016-12-12 22:20:00 +0900 (Mon, 12 Dec 2016) | 3 lines Use 7z if exist 7z can compress with higher ratio than gzip/zip. ------------------------------------------------------------------------ r57059 | kazu | 2016-12-12 22:12:08 +0900 (Mon, 12 Dec 2016) | 1 line NEWS: Add String#match? and Symbol#match? [ci skip] ------------------------------------------------------------------------ r57058 | kazu | 2016-12-12 22:12:06 +0900 (Mon, 12 Dec 2016) | 1 line NEWS: Use spaces instead of tab [ci skip] ------------------------------------------------------------------------ r57057 | kazu | 2016-12-12 22:12:05 +0900 (Mon, 12 Dec 2016) | 1 line NEWS: Sort entries [ci skip] ------------------------------------------------------------------------ r57056 | nobu | 2016-12-12 16:12:07 +0900 (Mon, 12 Dec 2016) | 4 lines string.c: fix method name in rdoc [ci skip] * string.c (rb_str_equal): [DOC] fix fallback method name. the peer's == method will be used, not ===. ------------------------------------------------------------------------ r57055 | nobu | 2016-12-12 12:19:52 +0900 (Mon, 12 Dec 2016) | 1 line test for Symbol#match? [Feature #12898] ------------------------------------------------------------------------ r57054 | nobu | 2016-12-12 12:07:47 +0900 (Mon, 12 Dec 2016) | 4 lines test_m17n.rb: escape * test/ruby/test_m17n.rb (test_regexp_ascii_none): escape regexp meta characters. ------------------------------------------------------------------------ r57053 | nobu | 2016-12-12 11:56:12 +0900 (Mon, 12 Dec 2016) | 5 lines String#match? and Symbol#match? * string.c (rb_str_match_m_p): inverse of Regexp#match?. based on the patch by Herwin Weststrate <herwin@snt.utwente.nl>. [Fix GH-1483] [Feature #12898] ------------------------------------------------------------------------ r57052 | svn | 2016-12-12 11:38:54 +0900 (Mon, 12 Dec 2016) | 1 line * 2016-12-12 ------------------------------------------------------------------------ r57051 | nobu | 2016-12-12 11:38:53 +0900 (Mon, 12 Dec 2016) | 4 lines re.c: char boundary * re.c (rb_reg_match_m_p): consider char boundary. rb_str_subpos does not adjust to the boundary if len == 0. ------------------------------------------------------------------------ r57050 | nobu | 2016-12-11 18:20:27 +0900 (Sun, 11 Dec 2016) | 4 lines parse.y: zero codepoints * parse.y (parser_tokadd_utf8): relax restriction to allow zero or more codepoints. ------------------------------------------------------------------------ r57049 | naruse | 2016-12-11 15:13:02 +0900 (Sun, 11 Dec 2016) | 1 line fix Zlib.gzip/gunzip document ------------------------------------------------------------------------ r57048 | naruse | 2016-12-11 03:34:07 +0900 (Sun, 11 Dec 2016) | 7 lines Updated documentation examples for Hash#value? The same code is used for has_value? and value?, but according to http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-core/43765 has_value is deprecated. Use the non-deprecated syntax in the examples. by Herwin Weststrate <herwin@snt.utwente.nl> fix https://github.com/ruby/ruby/pull/1491 ------------------------------------------------------------------------ r57047 | naruse | 2016-12-11 03:23:33 +0900 (Sun, 11 Dec 2016) | 7 lines Add missing :nodoc: comment We were missing a `:nodoc:` magic comment that was making automated tools show that this method was missing documentation, when it really didn't need to be documented. by Devon Estes <devon.c.estes@gmail.com> https://github.com/ruby/ruby/pull/1482 fix GH-1482 ------------------------------------------------------------------------ r57046 | svn | 2016-12-11 02:47:06 +0900 (Sun, 11 Dec 2016) | 1 line * 2016-12-11 ------------------------------------------------------------------------ r57045 | naruse | 2016-12-11 02:47:04 +0900 (Sun, 11 Dec 2016) | 8 lines Merge Onigmo 6.0.0 * https://github.com/k-takata/Onigmo/blob/Onigmo-6.0.0/HISTORY * fix for ruby 2.4: https://github.com/k-takata/Onigmo/pull/78 * suppress warning: https://github.com/k-takata/Onigmo/pull/79 * include/ruby/oniguruma.h: include onigmo.h. * template/encdb.h.tmpl: ignore duplicated definition of EUC-CN in enc/euc_kr.c. It is defined in enc/gb2313.c with CRuby macro. ------------------------------------------------------------------------ r57044 | mrkn | 2016-12-10 17:56:05 +0900 (Sat, 10 Dec 2016) | 5 lines bigdecimal: version 1.3.0.pre.2 Import bigdecimal version 1.3.0.pre.2. The full commit log is here: https://github.com/ruby/bigdecimal/compare/v1.3.0.pre...v1.3.0.pre.2 ------------------------------------------------------------------------ r57043 | nobu | 2016-12-10 17:54:40 +0900 (Sat, 10 Dec 2016) | 4 lines stringio.c: chomp CR * ext/stringio/stringio.c (strio_getline): chomp CR not only LF, as well as String#chomp. ------------------------------------------------------------------------ r57042 | nobu | 2016-12-10 17:26:40 +0900 (Sat, 10 Dec 2016) | 5 lines zlib.c: replace with substring * ext/zlib/zlib.c (zstream_discard_input): replace with unread portion substring, not modifying the input buffer directly. [ruby-core:78567] [Bug #13021] ------------------------------------------------------------------------ r57041 | rhe | 2016-12-10 17:12:02 +0900 (Sat, 10 Dec 2016) | 9 lines openssl: import v2.0.1 Import Ruby/OpenSSL 2.0.1. The full commit history since 2.0.0 (imported at r56946) can be found at: https://github.com/ruby/openssl/compare/v2.0.0...v2.0.1 This release contains only bug fixes. Note, the first two commits since v2.0.0 are already imported at r56953 to make Travis and RubyCI green. ------------------------------------------------------------------------ r57040 | mrkn | 2016-12-10 16:49:15 +0900 (Sat, 10 Dec 2016) | 6 lines bigdecimal: import version 1.3.0.pre Import bigdecimal version 1.3.0.pre. The full commit log of this changes can be found at: https://github.com/ruby/bigdecimal/compare/5c43a9e...v1.3.0.pre ------------------------------------------------------------------------ r57039 | nobu | 2016-12-10 15:25:26 +0900 (Sat, 10 Dec 2016) | 1 line Fix grammer [ci skip] ------------------------------------------------------------------------ r57038 | mrkn | 2016-12-10 11:36:16 +0900 (Sat, 10 Dec 2016) | 10 lines internal.h: change the default rounding mode to half-up * internal.h (ROUND_DEFAULT): changed to RUBY_NUM_ROUND_HALF_UP. [Bug #12958] [ruby-core:78204] * test/ruby/test_integer.rb: fix assertions for the above change. * test/ruby/test_rational.rb: ditto. * test/test_mathn.rb: ditto. ------------------------------------------------------------------------ r57037 | kazu | 2016-12-10 11:16:55 +0900 (Sat, 10 Dec 2016) | 5 lines Fix document of gunzip and gzip [ci skip] - fix a typo (`GzipReadr` -> `GzipReader`) - `Zlib::GzipReader.new` does not take block - fix encoding ------------------------------------------------------------------------ r57036 | svn | 2016-12-10 07:45:39 +0900 (Sat, 10 Dec 2016) | 1 line * 2016-12-10 ------------------------------------------------------------------------ r57035 | naruse | 2016-12-10 07:45:39 +0900 (Sat, 10 Dec 2016) | 3 lines Zlib.gzip and Zlib.gunzip [Feature #13020] Encode and Decode gzip data without creating files. ------------------------------------------------------------------------ r57034 | naruse | 2016-12-10 07:45:38 +0900 (Sat, 10 Dec 2016) | 4 lines Suppress warning: this use of "defined" may not be portable Use of defined() in macro expansion is considered non portable. https://gcc.gnu.org/ml/gcc-patches/2014-10/msg01577.html ------------------------------------------------------------------------ r57033 | nobu | 2016-12-09 12:25:20 +0900 (Fri, 09 Dec 2016) | 4 lines ruby.h: add prefix * include/ruby/ruby.h (RB_TEST, RB_NIL_P): prefix RB to get rid of name conflicts with other headers. ------------------------------------------------------------------------ r57032 | nobu | 2016-12-09 11:59:55 +0900 (Fri, 09 Dec 2016) | 1 line Adjust indent [ci skip] ------------------------------------------------------------------------ r57031 | svn | 2016-12-09 11:57:58 +0900 (Fri, 09 Dec 2016) | 1 line * 2016-12-09 ------------------------------------------------------------------------ r57030 | nobu | 2016-12-09 11:57:57 +0900 (Fri, 09 Dec 2016) | 6 lines remove core#hash_merge_ary * compile.c (compile_array_): remove m_core_hash_merge_ary which seems unreachable, and wrong number of arguments. * vm.c (m_core_hash_merge_ary): removed because it is never used. ------------------------------------------------------------------------ r57029 | nobu | 2016-12-08 22:51:34 +0900 (Thu, 08 Dec 2016) | 4 lines compile.c: static_literal_value * compile.c (static_literal_value): separate getter from predicate function. ------------------------------------------------------------------------ r57028 | kazu | 2016-12-08 21:58:26 +0900 (Thu, 08 Dec 2016) | 10 lines extension.rdoc: add ANYARGS to method definitions * doc/extension.rdoc (rb_define_method, rb_define_singleton_method, rb_define_private_method, rb_define_protected_method, rb_define_module_function, rb_define_global_function): set ANYARGS as arguments to their underlying functions. [ci skip] Patch by: Dmitry Gritsay <unseductable@gmail.com> [Fix GH-1473] ------------------------------------------------------------------------ r57027 | nobu | 2016-12-08 17:31:01 +0900 (Thu, 08 Dec 2016) | 5 lines ruby-lex.rb: fix for label * lib/irb/ruby-lex.rb (identify_identifier): treat identifier just followed by a colon as a lable. this is not a precise solution but enough for the time being. [ruby-core:78526] [Bug #13012] ------------------------------------------------------------------------ r57026 | nobu | 2016-12-08 17:25:21 +0900 (Thu, 08 Dec 2016) | 4 lines test/unit.rb: fix -n option * test/lib/test/unit.rb (non_options): turn name patterns into Regexps. ------------------------------------------------------------------------ r57025 | nobu | 2016-12-08 16:54:58 +0900 (Thu, 08 Dec 2016) | 5 lines compile.c: optimize literal nodes * compile.c (static_literal_node_p): optimize literal nodes for true, false, and nil, which are static literals in specific nodes but not in NODE_LIT. ------------------------------------------------------------------------ r57024 | nobu | 2016-12-08 15:19:06 +0900 (Thu, 08 Dec 2016) | 4 lines vm.c: check type of hash to merge * vm.c (core_hash_merge): check the type of the target hash to merge. [ruby-core:78536] [Bug #13015] ------------------------------------------------------------------------ r57023 | nobu | 2016-12-08 14:16:33 +0900 (Thu, 08 Dec 2016) | 4 lines vm_insnhelper.c: zsuper in refinements * vm_insnhelper.c (vm_call_zsuper): prevent infinite recursion zsuper in refinements. [ruby-core:77161] [Bug #12729] ------------------------------------------------------------------------ r57022 | nobu | 2016-12-08 09:45:13 +0900 (Thu, 08 Dec 2016) | 4 lines parse.y: ripper generic input * parse.y (ripper_initialize): allow generic input as source, if it has #gets method. ------------------------------------------------------------------------ r57021 | shugo | 2016-12-08 08:47:59 +0900 (Thu, 08 Dec 2016) | 12 lines Add volatile to a suppress warning. Without the fix, the following warning is shown: compiling cont.c cont.c: In function 'rb_callcc': cont.c:949:39: warning: passing argument 1 of 'cont_capture' discards 'volatile' qualifier from pointer target type [-Wdiscarded-qualifiers] volatile VALUE val = cont_capture(&called); ^ cont.c:473:1: note: expected 'int * volatile' but argument is of type 'volatile int *' cont_capture(int *volatile stat) ^ ------------------------------------------------------------------------ r57020 | shugo | 2016-12-08 08:27:51 +0900 (Thu, 08 Dec 2016) | 5 lines Add clang volatile fixes from FreeBSD and NetBSD. Use volatile instead of optnone to avoid optimization which causes segmentation faults. Patch by Dimitry Andric. [ruby-core:78531] [Bug #13014] ------------------------------------------------------------------------ r57019 | svn | 2016-12-08 00:30:02 +0900 (Thu, 08 Dec 2016) | 1 line * 2016-12-08 ------------------------------------------------------------------------ r57018 | kazu | 2016-12-08 00:30:01 +0900 (Thu, 08 Dec 2016) | 9 lines fix typo in `IO#write_nonblock` example [ci skip] This example explains when writing a value greater than 65536, so the value specify must be greater than 65536. This seems to be wrong in cee7f69 Patch by: Yuji Yaginuma <yuuji.yaginuma@gmail.com> [Fix GH-1496] ------------------------------------------------------------------------ r57017 | nobu | 2016-12-07 23:39:24 +0900 (Wed, 07 Dec 2016) | 4 lines ruby.c: dump option * ruby.c (process_options): dump specified informations all, not only first one. ------------------------------------------------------------------------ r57016 | nobu | 2016-12-07 23:26:44 +0900 (Wed, 07 Dec 2016) | 4 lines assertions.rb: defered message in FailDesc * test/lib/test/unit/assertions.rb (FailDesc): allow to defer message generation, as well as other assertion methods. ------------------------------------------------------------------------ r57015 | svn | 2016-12-07 21:59:49 +0900 (Wed, 07 Dec 2016) | 1 line * properties. ------------------------------------------------------------------------ r57014 | shugo | 2016-12-07 21:59:48 +0900 (Wed, 07 Dec 2016) | 5 lines Delay Utils.getservername until needed. There is no need to call Utils.getservername when the :ServerName option is specified, so delay Utils.getservername until needed to avoid unnecessary DNS lookups. [ruby-core:78492] [Bug #13007] ------------------------------------------------------------------------ r57013 | nobu | 2016-12-07 17:44:34 +0900 (Wed, 07 Dec 2016) | 6 lines compile.c: remove dead code * compile.c (DECL_ANCHOR, INIT_ANCHOR): make anchor name an array and unassignable. * compile.c (iseq_compile_each): ret is never 0. ------------------------------------------------------------------------ r57012 | nobu | 2016-12-07 13:25:50 +0900 (Wed, 07 Dec 2016) | 4 lines hash.c: hash should be long * hash.c (any_hash): should return `long', because ruby assumes the hash value of the object id of an object is `long'. ------------------------------------------------------------------------ r57011 | nobu | 2016-12-07 12:19:33 +0900 (Wed, 07 Dec 2016) | 4 lines win32.c: suppress warning * win32/win32.c (rb_w32_home_dir): suppress sequence-point warning, REALLOC_N re-assigns the variable. ------------------------------------------------------------------------ r57010 | shugo | 2016-12-07 11:41:00 +0900 (Wed, 07 Dec 2016) | 3 lines Extend timeout for Solaris unstable10s. http://rubyci.org/logs/rubyci.s3.amazonaws.com/unstable10s/ruby-trunk/log/20161206T181910Z.fail.html.gz ------------------------------------------------------------------------ r57009 | nobu | 2016-12-07 11:19:29 +0900 (Wed, 07 Dec 2016) | 4 lines file.c: cygwin behavior * file.c: recent cygwin hides NTFS specific features. [ruby-core:78497] [Bug #13008] ------------------------------------------------------------------------ r57008 | svn | 2016-12-07 11:03:41 +0900 (Wed, 07 Dec 2016) | 1 line * 2016-12-07 ------------------------------------------------------------------------ r57007 | usa | 2016-12-07 11:03:40 +0900 (Wed, 07 Dec 2016) | 4 lines const pointer is not able to be free. * win32/file.c (rb_default_home_dir): should not be marked as const. ------------------------------------------------------------------------ r57006 | kazu | 2016-12-07 00:33:49 +0900 (Wed, 07 Dec 2016) | 4 lines untabify [ci skip] based on the patch by W <wolf@wolfsden.cz> [Fix GH-1497] ------------------------------------------------------------------------ r57005 | kazu | 2016-12-07 00:33:47 +0900 (Wed, 07 Dec 2016) | 1 line Fix indent [ci skip] ------------------------------------------------------------------------ r57004 | svn | 2016-12-06 22:57:57 +0900 (Tue, 06 Dec 2016) | 1 line * properties. ------------------------------------------------------------------------ r57003 | kou | 2016-12-06 22:57:56 +0900 (Tue, 06 Dec 2016) | 2 lines rexml: REXML::Element#[] accepts String or Symbol as attribute name ------------------------------------------------------------------------ r57002 | nobu | 2016-12-06 22:57:23 +0900 (Tue, 06 Dec 2016) | 6 lines Make `trace_running` an integer flag again * vm_core.h (rb_vm_struct): trace_running should be a counter but not a bit flag. [ruby-core:78514] [Bug #13011] Author: David Rodriguez <deivid.rodriguez@gmail.com> ------------------------------------------------------------------------ r57001 | mrkn | 2016-12-06 22:40:31 +0900 (Tue, 06 Dec 2016) | 9 lines array.c, enum.c: change sum algorithm * array.c (rb_ary_sum): change the algorithm to Kahan-Babuska balancing summation to be more precise. [Feature #12871] [ruby-core:77771] * enum.c (sum_iter, enum_sum): ditto. * test_array.rb, test_enum.rb: add an assertion for the above change. ------------------------------------------------------------------------ r57000 | mrkn | 2016-12-06 21:54:19 +0900 (Tue, 06 Dec 2016) | 6 lines numeric.c: fix exception message for nil rounding * numeric.c (rb_num_get_rounding_option): fix exception message for the case of nil rounding mode. * test_float.rb: add an assertion for the above change. ------------------------------------------------------------------------ r56999 | kazu | 2016-12-06 21:49:46 +0900 (Tue, 06 Dec 2016) | 4 lines Fix typos Patch by: Koichi ITO <koic.ito@gmail.com> [Fix GH-1498] ------------------------------------------------------------------------ r56998 | hsbt | 2016-12-06 20:57:19 +0900 (Tue, 06 Dec 2016) | 4 lines Update latest bundled gems. * Rake 12.0.0 * minitest 5.10.1 ------------------------------------------------------------------------ r56997 | nobu | 2016-12-06 16:46:14 +0900 (Tue, 06 Dec 2016) | 4 lines EPERM by symlink * test/ruby/test_file.rb (test_realpath_encoding): EPERM can raise on cygwin. ------------------------------------------------------------------------ r56996 | nobu | 2016-12-06 16:21:55 +0900 (Tue, 06 Dec 2016) | 4 lines file.c: isADS * file.c (isADS): add macro to tell if Alternate Data Stream separator, to distinguish from drive letter. ------------------------------------------------------------------------ r56995 | nobu | 2016-12-06 15:16:57 +0900 (Tue, 06 Dec 2016) | 4 lines EPERM by symlink * test/ruby/test_file_exhaustive.rb (symlinkfile): EPERM can raise on cygwin. ------------------------------------------------------------------------ r56994 | rhe | 2016-12-06 15:14:17 +0900 (Tue, 06 Dec 2016) | 5 lines re.c: check that MatchData is initialized Follow r16757 ("* re.c: fix SEGV by Regexp.allocate.names, Match.allocate.names, etc.", 2008-06-02). Don't do null dereference if MatchData#hash or #== is called against an uninitialized instance. ------------------------------------------------------------------------ r56993 | rhe | 2016-12-06 15:14:16 +0900 (Tue, 06 Dec 2016) | 4 lines test/ruby/test_hash.rb: suppress syntax warning Avoid "ambiguous first argument; put parentheses or a space even after `-' operator" warning in assert_in_out_err. Fixes r56992. ------------------------------------------------------------------------ r56992 | nobu | 2016-12-06 13:43:48 +0900 (Tue, 06 Dec 2016) | 23 lines switching hash removal * st.h (struct st_hash_type): Remove strong_hash. (struct st_table): Remove inside_rebuild_p and curr_hash. * st.c (do_hash): Use type->hash instead of curr_hash. (make_tab_empty): Remove setting up curr_hash. (st_init_table_with_size): Remove setting up inside_rebuild_p. (rebuild_table): Remove clearing inside_rebuild_p. (reset_entry_hashes, HIT_THRESHOULD_FOR_STRONG_HASH): Remove code recognizing a denial attack and switching to strong hash. * hash.c (rb_dbl_long_hash, rb_objid_hash, rb_ident_hash): Use rb_hash_start to randomize the hash. (str_seed): Remove. (any_hash): Remove strong_p and use always rb_str_hash for strings. (any_hash_weak, rb_any_hash_weak): Remove. (st_hash_type objhash): Remove rb_any_hash_weak. based on the patch by Vladimir N Makarov <vmakarov@redhat.com> at [ruby-core:78490]. [Bug #13002] * test/ruby/test_hash.rb (test_wrapper): objects other than special constants should be able to be wrapped. ------------------------------------------------------------------------ r56991 | nobu | 2016-12-06 12:36:52 +0900 (Tue, 06 Dec 2016) | 5 lines remove unnecessary variable * st.c (do_hash): remove unnecessary variable and cast. * hash.c, numeric.c, st.c: adjust style and indent. ------------------------------------------------------------------------ r56990 | nobu | 2016-12-06 12:25:21 +0900 (Tue, 06 Dec 2016) | 4 lines random.c: pack hash seeds * random.c (seed_keys_t, init_seed): pack seed for rb_hash_start and rb_memhash, and fill them at once. ------------------------------------------------------------------------ r56989 | svn | 2016-12-06 08:37:25 +0900 (Tue, 06 Dec 2016) | 1 line * 2016-12-06 ------------------------------------------------------------------------ r56988 | shugo | 2016-12-06 08:37:25 +0900 (Tue, 06 Dec 2016) | 1 line Add a comment. ------------------------------------------------------------------------ r56987 | kazu | 2016-12-05 21:35:03 +0900 (Mon, 05 Dec 2016) | 1 line Remove closed checks and use `&.` ------------------------------------------------------------------------ r56986 | kazu | 2016-12-05 21:35:02 +0900 (Mon, 05 Dec 2016) | 1 line NEWS: mention chomp option of String and StringIO ------------------------------------------------------------------------ r56985 | shugo | 2016-12-05 20:10:05 +0900 (Mon, 05 Dec 2016) | 5 lines Don't insert an entry to loading_tbl if another thread succeed to load. If rb_thread_shield_wait() returns Qfalse, the file has been successfully loaded by another thread, so there is no need to insert a new entry into loading_tbl. [ruby-core:78464] [Bug #12999] ------------------------------------------------------------------------ r56984 | nobu | 2016-12-05 09:03:45 +0900 (Mon, 05 Dec 2016) | 4 lines random.c: private rand * random.c (rb_random_ulong_limited): do not call private method rand. [ruby-dev:49892] [Misc #13003] ------------------------------------------------------------------------ r56983 | svn | 2016-12-05 08:14:47 +0900 (Mon, 05 Dec 2016) | 1 line * 2016-12-05 ------------------------------------------------------------------------ r56982 | naruse | 2016-12-05 08:14:46 +0900 (Mon, 05 Dec 2016) | 4 lines Increase timeout of TestRequire#test_require_with_loaded_features_pop unstable10s fails it because of timeout http://rubyci.s3.amazonaws.com/unstable10s/ruby-trunk/log/20161201T161908Z.fail.html.gz ------------------------------------------------------------------------ r56981 | nobu | 2016-12-04 17:50:29 +0900 (Sun, 04 Dec 2016) | 5 lines class.c: missing unknown_keyword_error * class.c (rb_get_kwargs): when values are stored, corresponding keys have been remove from the keyword hash, and the hash should be empty in that case. [ruby-dev:49893] [Bug #13004] ------------------------------------------------------------------------ r56980 | nobu | 2016-12-04 17:50:28 +0900 (Sun, 04 Dec 2016) | 5 lines extension.rdoc: fix rb_get_kwargs [ci skip] * doc/extension.rdoc: [DOC] optional keyword arguments are defaulted to Qundef. ignored keys are kept in the hash but a new Hash is not created. [ruby-dev:49893] [Bug #13004] ------------------------------------------------------------------------ r56979 | ktsj | 2016-12-04 14:40:18 +0900 (Sun, 04 Dec 2016) | 4 lines Revert changes on rb_frame_method_id_and_class() r56593 introduced backwards incompatible changes in the API. [ruby-core:78471] [Feature #12747] ------------------------------------------------------------------------ r56978 | shugo | 2016-12-04 14:05:54 +0900 (Sun, 04 Dec 2016) | 1 line Specify the socktype explicitly. ------------------------------------------------------------------------ r56977 | shugo | 2016-12-04 13:53:33 +0900 (Sun, 04 Dec 2016) | 1 line Use 127.0.0.1 if getaddrinfo fails. ------------------------------------------------------------------------ r56976 | duerst | 2016-12-04 10:58:54 +0900 (Sun, 04 Dec 2016) | 10 lines remove special processing for U+03B9/U+03BC/U+A64B * enc/unicode.c: Remove special processing for U+03B9/U+03BC/U+A64B (GREEK SMALL LETTERs IOTA/MU, CYRILLIC SMALL LETTER MONOGRAPH UK) from onigenc_unicode_case_map and simplify code. * enc/unicode/case-folding.rb: Remove check for U+03B9/U+03BC/U+A64B. This and the previous few related commits make sure that we won't hit the equivalent of bug #12990 anymore for future updates of Unicode versions. ------------------------------------------------------------------------ r56975 | duerst | 2016-12-04 10:17:34 +0900 (Sun, 04 Dec 2016) | 6 lines Reorder codepoints in some entries of CaseUnfold_11_Table * enc/unicode/case-folding.rb: Reorder codepoints so that the upper-case mapping comes first. * enc/unicode/9.0.0/casefold.h: Codepoints reordered, upper-case mapping flag added. ------------------------------------------------------------------------ r56974 | svn | 2016-12-04 00:41:15 +0900 (Sun, 04 Dec 2016) | 1 line * 2016-12-04 ------------------------------------------------------------------------ r56973 | shugo | 2016-12-04 00:41:14 +0900 (Sun, 04 Dec 2016) | 3 lines Use IPv6 if it's preferred. I hope this fix makes tests faster on Windows. ------------------------------------------------------------------------ r56972 | nobu | 2016-12-03 23:18:03 +0900 (Sat, 03 Dec 2016) | 3 lines string.c: chomp option * string.c (rb_str_enumerate_lines): implement chomp option. ------------------------------------------------------------------------ r56971 | kazu | 2016-12-03 20:18:44 +0900 (Sat, 03 Dec 2016) | 8 lines Cleanup ruby method definitions in hash.c Always add a space between a comma and the next element. These spaces were there sometimes, but not always. This keeps to code consistent. Patch by: Herwin Weststrate <herwin@snt.utwente.nl> [ruby-core:78297] [Misc #12977] [GH-1492] ------------------------------------------------------------------------ r56970 | nobu | 2016-12-03 20:01:25 +0900 (Sat, 03 Dec 2016) | 3 lines stringio: chomp option * ext/stringio/stringio.c (strio_getline): implement chomp option. ------------------------------------------------------------------------ r56969 | nobu | 2016-12-03 20:01:24 +0900 (Sat, 03 Dec 2016) | 4 lines test_stringio.rb: paragraph mode * test/stringio/test_stringio.rb (test_gets, test_each): assertions for paragraph mode. ------------------------------------------------------------------------ r56968 | duerst | 2016-12-03 16:18:41 +0900 (Sat, 03 Dec 2016) | 5 lines add tests againts regressions for upcoming codepoint reordering in unfolding table * test/ruby/enc/test_case_mapping.rb: Add method test_reorder_unfold to test against problems when reordering codepoints in some entries in CaseUnfold_11_Type CaseUnfold_11_Table. ------------------------------------------------------------------------ r56967 | svn | 2016-12-03 14:09:10 +0900 (Sat, 03 Dec 2016) | 1 line * 2016-12-03 ------------------------------------------------------------------------ r56966 | duerst | 2016-12-03 14:09:09 +0900 (Sat, 03 Dec 2016) | 5 lines change test class name because it is not only about folding * test/ruby/enc/test_case_comprehensive.rb: Change test class name from TestComprehensiveCaseFold to TestComprehensiveCaseMapping because the tests are about mapping in general, not only folding ------------------------------------------------------------------------ r56965 | nobu | 2016-12-02 15:12:56 +0900 (Fri, 02 Dec 2016) | 1 line test/ruby/test_string.rb: ensure restoring $/ ------------------------------------------------------------------------ r56964 | nobu | 2016-12-02 12:33:54 +0900 (Fri, 02 Dec 2016) | 4 lines parse.y: simplify parsing utf-8 string * parse.y (parser_tokadd_codepoint): move error checks and add char. ------------------------------------------------------------------------ r56963 | nobu | 2016-12-02 11:47:11 +0900 (Fri, 02 Dec 2016) | 4 lines parse.y: relax spaces * parse.y (parser_tokadd_utf8): relax restriction spaces inside "\u{...}". ------------------------------------------------------------------------ r56962 | rhe | 2016-12-02 11:24:45 +0900 (Fri, 02 Dec 2016) | 5 lines re.c: count associated Regexp object in MatchData#hash Don't discard the hash value computed for the regexp object. It seems it was simply missed out in r24754, when MatchData#hash was initially implemented. ------------------------------------------------------------------------ r56961 | svn | 2016-12-02 02:43:42 +0900 (Fri, 02 Dec 2016) | 1 line * 2016-12-02 ------------------------------------------------------------------------ r56960 | naruse | 2016-12-02 02:43:41 +0900 (Fri, 02 Dec 2016) | 1 line Remove unused variable ------------------------------------------------------------------------ r56959 | naruse | 2016-12-01 23:18:32 +0900 (Thu, 01 Dec 2016) | 3 lines String#unpack1 [Feature #12752] Returns the first value of String#unpack. ------------------------------------------------------------------------ r56958 | usa | 2016-12-01 22:20:47 +0900 (Thu, 01 Dec 2016) | 4 lines Remove `offset:` from `Array#pack` * pack.c (pack_pack): can use `@` instead of `offset:`. ------------------------------------------------------------------------ r56957 | usa | 2016-12-01 22:08:20 +0900 (Thu, 01 Dec 2016) | 5 lines Supports `buffer` and `offset` in `Array#pack` * pack.c (pack_pack): Supports `buffer` and `offset` in `Array#pack`. [Feature #12754] [ruby-dev:49798] ------------------------------------------------------------------------ r56956 | nobu | 2016-12-01 17:26:39 +0900 (Thu, 01 Dec 2016) | 4 lines parse.y: reject invalid codepoint * parse.y (parser_tokadd_codepoint): reject invalid codepoint, surrogate blocks and surrogate pair, as well as mruby. ------------------------------------------------------------------------ r56955 | hsbt | 2016-12-01 14:24:00 +0900 (Thu, 01 Dec 2016) | 4 lines Update bundled_gems * minitest-5.10.0 * test-unit-3.2.3 ------------------------------------------------------------------------ r56954 | shugo | 2016-12-01 13:51:42 +0900 (Thu, 01 Dec 2016) | 10 lines Wait until excpetion handling is ready. Because RubyCI on Solaris 10 failed as follows: 1) Failure: TestProcess#test_execopts_redirect_open_fifo_interrupt_raise [/export/home/rubyci/unstable10s/tmp/build/20161130T201909Z/ruby/test/ruby/test_process.rb:646]: <"ok\n"> expected but was <"">. The argument of sleep (0.5) can be smaller, but I'm not sure. ------------------------------------------------------------------------ r56953 | rhe | 2016-12-01 13:42:10 +0900 (Thu, 01 Dec 2016) | 27 lines openssl: import fixes from upstream Import the following two commits from upstream: commit 72126d6c8b88abd69c3565fc3bbbd5ed1e401611 Author: Kazuki Yamaguchi <k@rhe.jp> Date: Thu Dec 1 22:27:03 2016 +0900 pkey: check existence of EVP_PKEY_get0() EVP_PKEY_get0() did not exist in early OpenSSL 0.9.8 series. So define ourselves if needed. commit 94a1c4e0c5705ad1e9a4ca08cacaa6cba8b1e6f5 Author: Kazuki Yamaguchi <k@rhe.jp> Date: Thu Dec 1 22:13:22 2016 +0900 test/test_cipher: fix test with OpenSSL 1.0.1 before 1.0.1d Set the authentication tag before the AAD when decrypting. Before OpenSSL commit 96f7fafa2431 ("Don't require tag before ciphertext in AESGCM mode", 2012-10-16, at OpenSSL_1_0_1-stable branch, included in OpenSSL 1.0.1d), the authentication tag must be set before any calls of EVP_CipherUpdate(). They should fix build on CentOS 5 and Ubuntu 12.04 respectively. ------------------------------------------------------------------------ r56952 | nobu | 2016-12-01 09:34:42 +0900 (Thu, 01 Dec 2016) | 1 line Use offsetof macro and shrink table size ------------------------------------------------------------------------ r56951 | nobu | 2016-12-01 09:34:41 +0900 (Thu, 01 Dec 2016) | 1 line constify CaseMappingSpecials ------------------------------------------------------------------------ r56950 | svn | 2016-12-01 02:29:20 +0900 (Thu, 01 Dec 2016) | 1 line * 2016-12-01 ------------------------------------------------------------------------ r56949 | naruse | 2016-12-01 02:29:19 +0900 (Thu, 01 Dec 2016) | 22 lines Regexp supports Unicoe 9.0.0's \X * meta character \X matches Unicode 9.0.0 characters with some workarounds for UTR #51 Unicode Emoji, Version 4.0 emoji zwj sequences. [Feature #12831] [ruby-core:77586] The term "character" can have many meanings bytes, codepoints, combined characters, and so on. "grapheme cluster" is highest one of such words, which means user-perceived characters. Unicode Standard Annex #29 UNICODE TEXT SEGMENTATION specifies how to handle grapheme clusters (extended grapheme cluster). But some specs aren't updated to current situation because Unicode Emoji is rapidly extended without well definition. It breaks the precondition of UTR#29 "Grapheme cluster boundaries can be easily tested by looking at immediately adjacent characters". (the sentence will be removed in the next version) Though some of its detail are described in Unicode Technical Report #51 UNICODE EMOJI but it is not merged into UTR#29 yet. http://unicode.org/reports/tr29/ http://unicode.org/reports/tr51/ http://unicode.org/Public/emoji/4.0/ ------------------------------------------------------------------------ r56948 | nobu | 2016-11-30 23:54:09 +0900 (Wed, 30 Nov 2016) | 4 lines ossl.c: cast * ext/openssl/ossl.c (ossl_pem_passwd_cb): cast to int. it's safe because len does not exceed int max_len. ------------------------------------------------------------------------ r56947 | nobu | 2016-11-30 23:43:43 +0900 (Wed, 30 Nov 2016) | 4 lines parse.y: refine error message * parse.y (parser_tokadd_utf8): refine error message at bad char in unicode escape, "invalid" instead of "unterminated". ------------------------------------------------------------------------ r56946 | rhe | 2016-11-30 23:41:46 +0900 (Wed, 30 Nov 2016) | 6 lines openssl: import v2.0.0 Import Ruby/OpenSSL 2.0.0. The full commit history since 2.0.0 beta.2 (imported at r56098) can be found at: https://github.com/ruby/openssl/compare/v2.0.0.beta.2...v2.0.0 ------------------------------------------------------------------------ r56945 | hsbt | 2016-11-30 23:24:12 +0900 (Wed, 30 Nov 2016) | 3 lines Fixed error with `make install` rbinstall.rb couldn't load "psych/versions". ------------------------------------------------------------------------ r56944 | hsbt | 2016-11-30 22:55:02 +0900 (Wed, 30 Nov 2016) | 6 lines Update psych-2.2.1 It fixed segmentation fault related with GC. https://github.com/ruby/psych/pull/296 and removed deprecated code of Ruby 1.8. ------------------------------------------------------------------------ r56943 | nobu | 2016-11-30 22:09:51 +0900 (Wed, 30 Nov 2016) | 4 lines parse.y: parser_tokadd_codepoint * parse.y (parser_tokadd_codepoint): extract from parser_tokadd_utf8. ------------------------------------------------------------------------ r56942 | nobu | 2016-11-30 22:09:50 +0900 (Wed, 30 Nov 2016) | 3 lines parse.y: brace constants * parse.y (parser_tokadd_utf8): make open/close braces constant. ------------------------------------------------------------------------ r56941 | duerst | 2016-11-30 17:25:46 +0900 (Wed, 30 Nov 2016) | 14 lines fix uppercasing for U+A64B, CYRILLIC SMALL LETTER MONOGRAPH UK * enc/unicode.c: Add U+A64B to the special cases 03B9 and 03BC at the end of onigenc_unicode_case_map (Bug #12990). * enc/unicode/case-folding.rb: Add U+A64B to the special cases 03B9 and 03BC. Add a comment pointing to enc/unicode.c. Change warnings to exceptions for unpredicted cases, because this would have been more easily noticed (the warning was not noticed when upgrading to Unicode 9.0.0). * test/ruby/enc/test_case_comprehensive.rb: Remove temporary exclusion of U+A64B from testing. ------------------------------------------------------------------------ r56940 | nobu | 2016-11-30 10:40:11 +0900 (Wed, 30 Nov 2016) | 4 lines parse.y: no warning for lambda * parse.y (parser_yylex): do not warn parentheses of lambda argument list, because there is no name. ------------------------------------------------------------------------ r56939 | shugo | 2016-11-30 10:22:05 +0900 (Wed, 30 Nov 2016) | 1 line Supress warnings. ------------------------------------------------------------------------ r56938 | tenderlove | 2016-11-30 02:06:35 +0900 (Wed, 30 Nov 2016) | 28 lines Stop reading past the end of `ivptr` array If you have code like this: ```ruby class A def initialize @a = nil @b = nil @c = nil @d = nil @e = nil end end x = A.new y = x.clone 100.times { |z| x.instance_variable_set(:"@foo#{z}", nil) } puts y.inspect ``` `x` and `y` will share `iv_index_tbl` hashes. However, the size of the hash will grow larger than the number if entries in `ivptr` in `y`. Before this commit, `rb_ivar_count` would use the size of the hash to determine how far to read in to the array, but this means that it could read past the end of the array and cause the program to segv [ruby-core:78403] ------------------------------------------------------------------------ r56937 | nobu | 2016-11-30 01:06:54 +0900 (Wed, 30 Nov 2016) | 1 line get rid of ambiguous parentheses warnings ------------------------------------------------------------------------ r56936 | rhe | 2016-11-30 00:48:47 +0900 (Wed, 30 Nov 2016) | 4 lines webrick: don't use OpenSSL::TestUtils from webrick tests Follow net/http and open-uri. Don't rely on the constants/methods from OpenSSL::TestUtils. ------------------------------------------------------------------------ r56935 | rhe | 2016-11-30 00:48:46 +0900 (Wed, 30 Nov 2016) | 3 lines open-uri: don't use OpenSSL::TestUtils from open-uri tests Follow net/http. Define own test DH parameters and use. ------------------------------------------------------------------------ r56934 | rhe | 2016-11-30 00:48:45 +0900 (Wed, 30 Nov 2016) | 5 lines net/http: don't use OpenSSL::TestUtils from test code Make test code independent of test/openssl/utils.rb. The development of openssl library has moved to a separate repository and OpenSSL::TestUtils may be modified at any time. ------------------------------------------------------------------------ r56933 | nobu | 2016-11-30 00:34:31 +0900 (Wed, 30 Nov 2016) | 4 lines object.c: no TypeError at special const * object.c (special_object_p): no longer raise a TypeError for Integer and Float, and return itself instead. [Feature#12979] ------------------------------------------------------------------------ r56932 | kazu | 2016-11-30 00:31:16 +0900 (Wed, 30 Nov 2016) | 3 lines NEWS: Add String/Symbol#casecmp? [Feature #12786] [ci skip] ------------------------------------------------------------------------ r56931 | usa | 2016-11-30 00:23:12 +0900 (Wed, 30 Nov 2016) | 4 lines get rid of test failures on CI introduced at r56927 * lib/matrix.rb: now ruby warns ambiguous parentheses after a space in method definitions. ------------------------------------------------------------------------ r56930 | svn | 2016-11-30 00:14:06 +0900 (Wed, 30 Nov 2016) | 1 line * 2016-11-30 ------------------------------------------------------------------------ r56929 | nobu | 2016-11-30 00:14:05 +0900 (Wed, 30 Nov 2016) | 5 lines object.c: no TypeError at special const clone * object.c (rb_obj_clone2): no longer raise a TypeError for special constants, and return itself instead. however, if freeze option is false, raise an ArgumentError. [Feature#12979] ------------------------------------------------------------------------ r56928 | nobu | 2016-11-29 21:54:43 +0900 (Tue, 29 Nov 2016) | 8 lines thread.c: fix doc of abort_on_exception [ci skip] * thread.c (rb_thread_s_abort_exc, rb_thread_s_abort_exc_set): [DOC] the raised exception will be re-raised in the main thread, and then follows the ordinary exception sequence, exit status is not 0. [ruby-core:78415] [Bug #12991] * thread.c (rb_thread_abort_exc_set): ditto. ------------------------------------------------------------------------ r56927 | nobu | 2016-11-29 19:47:43 +0900 (Tue, 29 Nov 2016) | 4 lines parse.y: ambiguous parentheses * parse.y (parser_yylex): warn ambiguous parentheses after a space in method definitions. ------------------------------------------------------------------------ r56926 | duerst | 2016-11-29 19:45:54 +0900 (Tue, 29 Nov 2016) | 6 lines Fix/improve documentation of String/Symbol#casecmp[?] Fix documentation of String#casecmp? (examples didn't have the '?'). Add an example with non-ASCII characters. Clarify that casecmp, unlike casecmp?, only does case-insensitivity on A-Z/a-z. [ci skip] ------------------------------------------------------------------------ r56925 | shugo | 2016-11-29 17:44:21 +0900 (Tue, 29 Nov 2016) | 1 line Suppress warnings. ------------------------------------------------------------------------ r56924 | duerst | 2016-11-29 17:39:57 +0900 (Tue, 29 Nov 2016) | 5 lines Fix erroneous test of target against target * test/ruby/enc/test_case_comprehensive.rb: fix test condition, add a temporary check for U+A64B, the only character where the tests currently fail. (Bug #12990) ------------------------------------------------------------------------ r56923 | shugo | 2016-11-29 17:31:39 +0900 (Tue, 29 Nov 2016) | 4 lines Ignore SystemCallError in case it is raised by SSLSocket#accept. Errno::ECONNRESET was raised by test_tls_post_connection_check and test_tls_unknown_ca on mswin64 CI. ------------------------------------------------------------------------ r56922 | nobu | 2016-11-29 12:06:03 +0900 (Tue, 29 Nov 2016) | 4 lines test_keyword.rb: more assertions * test/ruby/test_keyword.rb (test_block_required_keyword): more assertions for positional and require keyword parameters. ------------------------------------------------------------------------ r56921 | nobu | 2016-11-29 12:06:02 +0900 (Tue, 29 Nov 2016) | 4 lines test_keyword.rb: assert_raise_with_message value * test/ruby/test_keyword.rb (test_block_required_keyword): assert_raise_with_message returns the raised exception object. ------------------------------------------------------------------------ r56920 | nobu | 2016-11-29 12:06:01 +0900 (Tue, 29 Nov 2016) | 4 lines string.c: use xmalloc * string.c (rb_str_casemap): use xmalloc simply instead of ALLOC_N. ------------------------------------------------------------------------ r56919 | shugo | 2016-11-29 11:47:11 +0900 (Tue, 29 Nov 2016) | 7 lines net/ftp: add a new option ssl_handshake_timeout to Net::FTP.new. The TLS handshake timeout can be specified independently, because the TLS handshake doesn't start just after the underlying connection is established, but after the AUTH command is completed. It's also useful for testing purposes. However, if ssl_handshake_timeout is not specified, open_timeout is used instead for convenience. ------------------------------------------------------------------------ r56918 | shugo | 2016-11-29 11:33:34 +0900 (Tue, 29 Nov 2016) | 3 lines net/ftp: close the socket directly when an error occurs during TLS handshake. Otherwise, @sock.read in Net::FTP#close hungs until read_timeout exceeded. ------------------------------------------------------------------------ r56917 | svn | 2016-11-29 11:21:51 +0900 (Tue, 29 Nov 2016) | 1 line * 2016-11-29 ------------------------------------------------------------------------ r56916 | shugo | 2016-11-29 11:21:50 +0900 (Tue, 29 Nov 2016) | 3 lines net/ftp: close the connection if the TLS handshake timeout is exceeded. Otherwise, file descriptor leaks may occur in Net::FTP.new. ------------------------------------------------------------------------ r56915 | nobu | 2016-11-28 22:16:00 +0900 (Mon, 28 Nov 2016) | 4 lines string.c: fix zero-length array * string.c (mapping_buffer): get rid of zero-length array member, which is not a part of C90. ------------------------------------------------------------------------ r56914 | usa | 2016-11-28 19:17:03 +0900 (Mon, 28 Nov 2016) | 4 lines hide exceptions in server thread * test/net/ftp/test_ftp.rb (test_tls_connect_timeout): sleeping to give a chance of complete of accept is a timing issue at all. therefore, simply ignore the exception. ------------------------------------------------------------------------ r56913 | nobu | 2016-11-28 18:37:19 +0900 (Mon, 28 Nov 2016) | 4 lines string.c: enable rdoc * string.c (rb_str_casecmp_p): [DOC] move forward declaration of rb_str_downcase to enable rdoc. ------------------------------------------------------------------------ r56912 | duerst | 2016-11-28 17:37:32 +0900 (Mon, 28 Nov 2016) | 8 lines implement String/Symbol#casecmp? including Unicode case folding * string.c: Implement String#casecmp? and Symbol#casecmp? by using String#downcase :fold for Unicode case folding. This does not include options such as :turkic, because these currently cannot be combined with the :fold option. This implements feature #12786. * test/ruby/test_string.rb/test_symbol.rb: Tests for above. ------------------------------------------------------------------------ r56911 | nobu | 2016-11-28 12:48:34 +0900 (Mon, 28 Nov 2016) | 4 lines insns.def: adjust index type * insns.def (checkmatch): adjust type of the index variable, to get rid of (potential) overflow. ------------------------------------------------------------------------ r56910 | usa | 2016-11-28 12:14:07 +0900 (Mon, 28 Nov 2016) | 4 lines Give a chance to complete server.accept * test/net/ftp/test_ftp.rb (test_tls_connect_timeout): get rid of a test error on Windows. ------------------------------------------------------------------------ r56909 | svn | 2016-11-28 11:02:41 +0900 (Mon, 28 Nov 2016) | 1 line * 2016-11-28 ------------------------------------------------------------------------ r56908 | nobu | 2016-11-28 11:02:40 +0900 (Mon, 28 Nov 2016) | 4 lines compile.c: splatarray peephole opt * compile.c (iseq_peephole_optimize): remove splatarray following always-array insn. ------------------------------------------------------------------------ r56907 | nobu | 2016-11-27 20:22:42 +0900 (Sun, 27 Nov 2016) | 5 lines signal.c: improve stack overflow check * signal.c (check_stack_overflow): [EXPERIMENTAL] consider the segfault a stack overflow when the fault address is between SP and BP. ------------------------------------------------------------------------ r56906 | nobu | 2016-11-27 20:07:27 +0900 (Sun, 27 Nov 2016) | 4 lines object.c: no TypeError at special const dup * object.c (rb_obj_dup): no longer raise a TypeError for special constants, and return itself instead. [Feature#12979] ------------------------------------------------------------------------ r56905 | knu | 2016-11-27 19:08:00 +0900 (Sun, 27 Nov 2016) | 5 lines Reverse compatibility_version and current_version for Darwin The `compatibility_version` should have an API version and the `current_version` should have a program version of Ruby, but they have been reversed and the binary compatibility has never worked. ------------------------------------------------------------------------ r56904 | svn | 2016-11-27 18:40:52 +0900 (Sun, 27 Nov 2016) | 1 line * 2016-11-27 ------------------------------------------------------------------------ r56903 | ktsj | 2016-11-27 18:40:51 +0900 (Sun, 27 Nov 2016) | 1 line gems/bundled_gems: Update to power_assert 0.4.1 ------------------------------------------------------------------------ r56902 | nobu | 2016-11-26 20:37:01 +0900 (Sat, 26 Nov 2016) | 4 lines file.c: home directory from system * file.c (rb_default_home_dir): resolve home directory from the system database when HOME is not set. [Feature #12695] ------------------------------------------------------------------------ r56901 | nobu | 2016-11-26 20:37:01 +0900 (Sat, 26 Nov 2016) | 4 lines win32.c: special folders as home dir * win32/win32.c (rb_w32_home_dir): move from win32/file.c to try special folders. ------------------------------------------------------------------------ r56900 | nobu | 2016-11-26 19:57:02 +0900 (Sat, 26 Nov 2016) | 1 line NEWS: mention [Feature #12953] [ci skip] ------------------------------------------------------------------------ r56899 | svn | 2016-11-26 18:29:12 +0900 (Sat, 26 Nov 2016) | 1 line * 2016-11-26 ------------------------------------------------------------------------ r56898 | shugo | 2016-11-26 18:29:11 +0900 (Sat, 26 Nov 2016) | 3 lines net/ftp: support timeout for TLS handshake. Net::FTP inherits ssl_socket_connect from Net::Protocol to implement timeout. ------------------------------------------------------------------------ r56897 | nobu | 2016-11-25 15:28:00 +0900 (Fri, 25 Nov 2016) | 4 lines round-down * numeric.c (round_half_down, int_round_half_down): support round-down mode. ------------------------------------------------------------------------ r56896 | svn | 2016-11-25 05:51:46 +0900 (Fri, 25 Nov 2016) | 1 line * 2016-11-25 ------------------------------------------------------------------------ r56895 | usa | 2016-11-25 05:51:45 +0900 (Fri, 25 Nov 2016) | 4 lines use `rb_struct_ptr` for `RSTRUCT_PTR` macro * include/ruby/ruby.h (RSTRUCT_PTR): at r55788, `rb_struct_const_ptr` had been hidden and `rb_struct_ptr` had been implemented for backward compatiblity. but the definition of `RSTRUCT_PTR` was not modified to use it, probably by mistake. ------------------------------------------------------------------------ r56894 | nobu | 2016-11-24 20:07:12 +0900 (Thu, 24 Nov 2016) | 5 lines marshal.c: fix infinite recursion * marshal.c (check_userdump_arg): marshal_dump should not return an instance of the same class, otherwise it causes infinite recursion. [ruby-core:78289] [Bug #12974] ------------------------------------------------------------------------ r56893 | nobu | 2016-11-24 19:59:35 +0900 (Thu, 24 Nov 2016) | 4 lines marshal.c: negative limit * marshal.c (w_object): should not decrement negative limit which means unlimited. ------------------------------------------------------------------------ r56892 | nobu | 2016-11-24 12:01:59 +0900 (Thu, 24 Nov 2016) | 6 lines test_fileutils.rb: fix deadlock * test/fileutils/test_fileutils.rb (assert_output_lines): ensure that write pipe is closed, not the reader thread to deadlock when an exception raised in the given block. [ruby-core:78053] [Bug #12910] ------------------------------------------------------------------------ r56891 | shugo | 2016-11-24 10:03:07 +0900 (Thu, 24 Nov 2016) | 1 line Add credit and PR/issue numbers. ------------------------------------------------------------------------ r56890 | normal | 2016-11-24 08:57:30 +0900 (Thu, 24 Nov 2016) | 7 lines resolv: use safe navigation operator to avoid extra hash lookups @addr2name is a private Hash and never changes its default_proc, so only pay the hash lookup cost once; we know missing entries in the hash will be nil. * lib/resolv.rb (each_name): use safe navigation operator ------------------------------------------------------------------------ r56889 | normal | 2016-11-24 08:14:15 +0900 (Thu, 24 Nov 2016) | 6 lines webrick/server: use symbol proc Symbol proc is less code and avoids confusion from variable naming. * lib/webrick/server.rb (shutdown): use symbol proc ------------------------------------------------------------------------ r56886 | svn | 2016-11-24 00:10:20 +0900 (Thu, 24 Nov 2016) | 1 line * 2016-11-24 ------------------------------------------------------------------------ r56885 | shugo | 2016-11-24 00:10:19 +0900 (Thu, 24 Nov 2016) | 1 line Add CR/LF check to Net::FTP#status. ------------------------------------------------------------------------ r56884 | nobu | 2016-11-23 20:30:02 +0900 (Wed, 23 Nov 2016) | 9 lines test_fileutils.rb: Use primary group too * test/fileutils/test_fileutils.rb (TestFileUtils#setup): Use primary group as well as supplementary groups. based on the patch by Vit Ondruch at [ruby-core:78053]. [Bug #12910] It might happen in certain environments (systemd-nspawn) that process has no supplementary groups, but primary groups should be enough to pass most of the tests. ------------------------------------------------------------------------ r56883 | normal | 2016-11-23 17:10:44 +0900 (Wed, 23 Nov 2016) | 3 lines lib/net/ftp: fix typo * lib/net/ftp.rb (shutdown): fix typo ------------------------------------------------------------------------ r56882 | shugo | 2016-11-23 14:26:18 +0900 (Wed, 23 Nov 2016) | 4 lines rescue Errno::EPROTOTYPE in FTPTest#test_list_read_timeout_exceeded. Errno::EPROTOTYPE is sometimes raised on Mac OS X 10.10. [ruby-core:78066] [Bug #12914] ------------------------------------------------------------------------ r56881 | shugo | 2016-11-23 13:40:40 +0900 (Wed, 23 Nov 2016) | 4 lines Don't encode to UTF-8 if it's unnecessary. If the file system encoding is ISO-8851-1 or if the encoding of the target string is invalid, don't encode to UTF-8. [ruby-core:78271] [Bug#12972] ------------------------------------------------------------------------ r56880 | shugo | 2016-11-23 09:34:13 +0900 (Wed, 23 Nov 2016) | 6 lines Disconnect immediately even if Net::FTP#close is called without quit. In that case, BufferedSSLSocket#read in FTP#close exceeded timeout because BufferedSSLSocket#shutdown did nothing. So BufferedIO#rbuf_fill is overridden in BufferedSSLSocket to raise an EOFError if the connection is shut down. ------------------------------------------------------------------------ r56879 | shugo | 2016-11-23 09:03:27 +0900 (Wed, 23 Nov 2016) | 4 lines Add a new optinal argument pathname to FTP#stat. Based on the patch by soleboxy. [Fix GH-1478] [ruby-core:78240] [Feature #12965] ------------------------------------------------------------------------ r56878 | kazu | 2016-11-23 08:44:51 +0900 (Wed, 23 Nov 2016) | 1 line Use `&.` instead of `if` and `? :` ------------------------------------------------------------------------ r56877 | nobu | 2016-11-23 08:32:44 +0900 (Wed, 23 Nov 2016) | 4 lines parse.y: warn ? followed by a word * parse.y (parse_qmark): warn `?` with unbalanced space, which is interpreted as a conditional operator. ------------------------------------------------------------------------ r56876 | svn | 2016-11-23 08:11:41 +0900 (Wed, 23 Nov 2016) | 1 line * 2016-11-23 ------------------------------------------------------------------------ r56875 | nobu | 2016-11-23 08:11:41 +0900 (Wed, 23 Nov 2016) | 1 line Use `&.` and `||=` instead of if guards ------------------------------------------------------------------------ r56874 | kazu | 2016-11-22 22:59:16 +0900 (Tue, 22 Nov 2016) | 4 lines IOError does not happen * IOError does not happen even if another thread closes io * Use symbol proc ------------------------------------------------------------------------ r56873 | kazu | 2016-11-22 22:11:43 +0900 (Tue, 22 Nov 2016) | 1 line Use `&.` instead of modifier if ------------------------------------------------------------------------ r56872 | mrkn | 2016-11-22 14:21:12 +0900 (Tue, 22 Nov 2016) | 11 lines complex.c: optimize f_gt_p some cases * complex.c (f_gt_p): optimize f_gt_p for specific types of arguments. * internal.h (rb_int_gt, rb_float_gt, rb_rational_cmp): exported. * numeric.c (rb_float_gt): rename from flo_gt and be exported. * numeric.c (rb_int_gt): rename from int_gt and be exported. * rational.c (rb_rational_cmp): rename from nurat_cmp and be exported. ------------------------------------------------------------------------ r56871 | shugo | 2016-11-22 14:17:45 +0900 (Tue, 22 Nov 2016) | 4 lines Add BufferedSSLSocket#send. SSLSocket#send is not defined, so use #write instead. flags and dest are ignored. ------------------------------------------------------------------------ r56870 | mrkn | 2016-11-22 13:54:57 +0900 (Tue, 22 Nov 2016) | 5 lines complex.c: optimize Kernel#Complex * complex.c (nucomp_f_complex): use nucomp_s_convert directly. * complex.c (id_convert): removed. ------------------------------------------------------------------------ r56869 | normal | 2016-11-22 09:16:23 +0900 (Tue, 22 Nov 2016) | 6 lines webrick/server: simplify Daemon.start Process.daemon exists since Ruby 1.9.1 and does most of what we need. * lib/webrick/server.rb (Daemon.start): simplify [Misc #12937] ------------------------------------------------------------------------ r56868 | normal | 2016-11-22 08:50:31 +0900 (Tue, 22 Nov 2016) | 5 lines resolv: use symbol proc when possible This reduces both human code and bytecode. lib/resolv.rb (sender_for, Config.parse_resolv_conf): use symbol proc ------------------------------------------------------------------------ r56867 | normal | 2016-11-22 08:50:25 +0900 (Tue, 22 Nov 2016) | 8 lines socket: use symbol proc for IO#close loops Made possible by r56795, this reduces human and byte code size. * ext/socket/lib/socket.rb (self.ip_sockets_port0, self.tcp_server_sockets_port0, self.tcp_server_sockets, self.udp_server_sockets): use symbol proc ------------------------------------------------------------------------ r56866 | normal | 2016-11-22 08:13:16 +0900 (Tue, 22 Nov 2016) | 6 lines lib/open3: favor symbol proc when possible It reduces both human and machine code; as well as reducing the confusion from variable naming. * lib/open3.rb (popen_run, pipeline, pipeline_run): avoid capture ------------------------------------------------------------------------ r56865 | normal | 2016-11-22 08:05:41 +0900 (Tue, 22 Nov 2016) | 17 lines lib/*: remove closed checks Follow r56795. Since Ruby 2.2, calling #close on a closed socket no longer raises exceptions. * lib/cgi/session.rb (update): remove closed? check * lib/net/http.rb (finish, transport_request): ditto * lib/net/imap.rb (disconnect): ditto * lib/net/pop.rb (do_start, do_finish): ditto * lib/net/smtp.rb (do_start, do_finish): ditto * lib/open3.rb (popen_run, pipeline_run): ditto * lib/pstore.rb (transaction): ditto * lib/shell/process-controller.rb (sfork): * lib/tempfile (_close, call, Tempfile.create): ditto * lib/webrick/httpauth/htdigest.rb (flush): ditto * lib/webrick/httpauth/htpasswd.rb (flush): ditto * lib/webrick/server.rb (start_thread, cleanup_shutdown_pipe): ditto ------------------------------------------------------------------------ r56864 | svn | 2016-11-22 07:45:27 +0900 (Tue, 22 Nov 2016) | 1 line * 2016-11-22 ------------------------------------------------------------------------ r56863 | nobu | 2016-11-22 07:45:26 +0900 (Tue, 22 Nov 2016) | 3 lines Revert r56856 * parse.y: tCHAR can be concatenated. ------------------------------------------------------------------------ r56862 | nobu | 2016-11-21 21:34:54 +0900 (Mon, 21 Nov 2016) | 4 lines ftp.rb: fix typo [ci skip] * lib/net/ftp.rb (Net::FTP#initialize): [DOC] fix type in option name, :username is used but :use is not. ------------------------------------------------------------------------ r56861 | shugo | 2016-11-21 19:38:31 +0900 (Mon, 21 Nov 2016) | 1 line Add new options open_timeout and read_timeout to Net::FTP.new. ------------------------------------------------------------------------ r56860 | shugo | 2016-11-21 17:55:25 +0900 (Mon, 21 Nov 2016) | 1 line Use dynamic dispatch instead of is_a?. ------------------------------------------------------------------------ r56857 | rhe | 2016-11-21 14:02:58 +0900 (Mon, 21 Nov 2016) | 13 lines net/http: avoid writing/reading from unstarted SSL socket When net/http connects to an HTTPS server through a CONNECT proxy, it writes the CONNECT request to an unconnected OpenSSL::SSL::SSLSocket. OpenSSL::SSL::SSLSocket traditionally fallbacks to a method call on the underlying IO object if a read/write method is called before the TLS connection is established. So it automagically works correctly, emitting the "SSL session is not started yet" warning. This is not obvious at first glance. The warning is also noisy. Let's just write to the plain socket instead of relying on the SSLSocket's behavior. ------------------------------------------------------------------------ r56856 | nobu | 2016-11-21 12:13:59 +0900 (Mon, 21 Nov 2016) | 4 lines parse.y: tCHAR cannot be concatenated * parse.y (strings): tCHAR is not a subject of string literal concatenation and string interpolation. ------------------------------------------------------------------------ r56855 | svn | 2016-11-21 11:17:29 +0900 (Mon, 21 Nov 2016) | 1 line * 2016-11-21 ------------------------------------------------------------------------ r56854 | nobu | 2016-11-21 11:17:29 +0900 (Mon, 21 Nov 2016) | 4 lines numeric.c: refine error message * numeric.c (rb_num_get_rounding_option): refine error message at invalid rounding mode. ------------------------------------------------------------------------ r56853 | nobu | 2016-11-20 19:52:28 +0900 (Sun, 20 Nov 2016) | 3 lines proc.c: enable Proc#to_s rdoc * proc.c (proc_to_s): move just after the rdoc comment. ------------------------------------------------------------------------ r56852 | nobu | 2016-11-20 19:41:09 +0900 (Sun, 20 Nov 2016) | 4 lines proc.c: suppress warning * proc.c (NO_CLOBBERED): suppress clobbered warning which appears only on mingw. ------------------------------------------------------------------------ r56851 | shugo | 2016-11-20 18:11:44 +0900 (Sun, 20 Nov 2016) | 1 line Remove an unused variable to suppress a warning. ------------------------------------------------------------------------ r56850 | nobu | 2016-11-20 15:53:39 +0900 (Sun, 20 Nov 2016) | 4 lines win32ole.c: suppress warnings * ext/win32ole/win32ole.c (g_ole_initialized): compare with 0 instead of cast to get rid of pointer-to-int-cast warnings. ------------------------------------------------------------------------ r56849 | usa | 2016-11-20 15:19:05 +0900 (Sun, 20 Nov 2016) | 5 lines get rid of test failures introduced at r56848 * ext/rubyvm/lib/forwardable/impl.rb: remove an unused variable definition to get rid of a warning. ------------------------------------------------------------------------ r56848 | nobu | 2016-11-20 11:12:48 +0900 (Sun, 20 Nov 2016) | 5 lines forwardable/impl.rb * lib/forwardable/impl.rb (_valid_method?, _compile_method): extract to separate implementation specific part. [ruby-core:78138] [Bug #12938] ------------------------------------------------------------------------ r56847 | shugo | 2016-11-20 10:49:25 +0900 (Sun, 20 Nov 2016) | 3 lines remote_address should be called on @bare_sock. Because @sock.remote_address fails if @sock is an SSLSocket. ------------------------------------------------------------------------ r56846 | shugo | 2016-11-20 10:44:07 +0900 (Sun, 20 Nov 2016) | 4 lines shutdown(2) should not be called for SSLSocket. SSLSocket#stop is a private method and cannot be called, but explicit calls are not necessary because SSL_shutdown() is called from SSLSocket#close. ------------------------------------------------------------------------ r56845 | svn | 2016-11-20 08:51:50 +0900 (Sun, 20 Nov 2016) | 1 line * 2016-11-20 ------------------------------------------------------------------------ r56844 | suke | 2016-11-20 08:51:49 +0900 (Sun, 20 Nov 2016) | 3 lines * ext/win32ole/win32ole.c: independent of libgcc_s_seh-1.dll [Bug #12959] Thanks to Tsuyoshi Morita for bug report. ------------------------------------------------------------------------ r56843 | shugo | 2016-11-19 20:01:55 +0900 (Sat, 19 Nov 2016) | 1 line Use Socket instead of TCPSocket/TCPServer. ------------------------------------------------------------------------ r56842 | shugo | 2016-11-19 16:02:32 +0900 (Sat, 19 Nov 2016) | 1 line Expand abbreviated option names. ------------------------------------------------------------------------ r56840 | nobu | 2016-11-19 13:32:52 +0900 (Sat, 19 Nov 2016) | 4 lines ruby.h: rb_big_sign * include/ruby/ruby.h (RBIGNUM_SIGN): use a wrapper function to return the sign bit, instead of comparing with 0. ------------------------------------------------------------------------ r56839 | shugo | 2016-11-19 13:19:35 +0900 (Sat, 19 Nov 2016) | 1 line Shut down TLS connections gracefully. ------------------------------------------------------------------------ r56837 | shugo | 2016-11-19 11:40:33 +0900 (Sat, 19 Nov 2016) | 1 line Remove garbage. ------------------------------------------------------------------------ r56836 | shugo | 2016-11-19 11:37:39 +0900 (Sat, 19 Nov 2016) | 1 line Move certificates to test/net/fixtures/. ------------------------------------------------------------------------ r56835 | svn | 2016-11-19 11:29:24 +0900 (Sat, 19 Nov 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56834 | shugo | 2016-11-19 11:29:23 +0900 (Sat, 19 Nov 2016) | 5 lines Support TLS and hash styles options for Net::FTP.new. If the :ssl options is specified, the control connection is protected with TLS in the manner described in RFC 4217. Data connections are also protected with TLS unless the :private_data_connection is set to false. ------------------------------------------------------------------------ r56833 | nobu | 2016-11-19 10:55:34 +0900 (Sat, 19 Nov 2016) | 4 lines math.c: unused_obj * math.c (exp1, exp2): use immediate 0 instead of rb_mMath, which is never used. ------------------------------------------------------------------------ r56832 | nobu | 2016-11-19 10:16:50 +0900 (Sat, 19 Nov 2016) | 5 lines dln.c: raise LoadError * dln.c (dln_load): raise LoadError instead of fatal error on recent OSX, dlclose seems fixed in El Capitan or later. [ruby-core:78200] [Bug #12956] ------------------------------------------------------------------------ r56831 | tadd | 2016-11-19 00:31:05 +0900 (Sat, 19 Nov 2016) | 2 lines * NEWS: Added entry for optimized Rational. [Feature #12484] [ci skip] ------------------------------------------------------------------------ r56830 | mrkn | 2016-11-19 00:17:19 +0900 (Sat, 19 Nov 2016) | 13 lines complex.c: optimize f_negate * complex.c (f_negate): optimize for special numeric types. * complex.c (nucomp_expt): use rb_int_uminus instead of f_negate for fixnum value. * internal.h (rb_float_uminus, rb_rational_uminus): exported. * numeric.c (rb_float_uminus): rename from flo_uminus. * rational.c (rb_rational_uminus): rename from nurat_negate, and add assertion for the parameter. ------------------------------------------------------------------------ r56829 | svn | 2016-11-19 00:04:37 +0900 (Sat, 19 Nov 2016) | 1 line * 2016-11-19 ------------------------------------------------------------------------ r56828 | mrkn | 2016-11-19 00:04:36 +0900 (Sat, 19 Nov 2016) | 8 lines rational.c: optimization and refactoring * rational.c (nurat_s_new_bang, nurat_canonicalize): small optimization by using rb_int_uminus instead of f_negate. * rational.c (nurat_canonicalize): add assertions for parameters. * rational.c (f_negate, id_negate): removed. ------------------------------------------------------------------------ r56827 | mrkn | 2016-11-18 23:24:15 +0900 (Fri, 18 Nov 2016) | 7 lines complex.c: refactoring * complex.c (nucomp_abs): use rb_math_hypot directly. * complex.c (nucomp_arg): use rb_math_atan2 directly. * complex.c (imp2, m_{atan2,hypot}_bang, m_hypot): removed. ------------------------------------------------------------------------ r56826 | yui-knk | 2016-11-18 20:05:20 +0900 (Fri, 18 Nov 2016) | 3 lines objspace.c:: indent [ci skip] * ext/objspace/objspace.c (memsize_of_m): adjust indent of comments. ------------------------------------------------------------------------ r56825 | yui-knk | 2016-11-18 19:58:30 +0900 (Fri, 18 Nov 2016) | 1 line * NEWS: Fix class name ------------------------------------------------------------------------ r56824 | nobu | 2016-11-18 15:29:51 +0900 (Fri, 18 Nov 2016) | 4 lines internal.h: round macros * internal.h (ROUND_FUNC, ROUND_CALL): macros wrapping round functions. ------------------------------------------------------------------------ r56823 | svn | 2016-11-18 13:34:27 +0900 (Fri, 18 Nov 2016) | 1 line * 2016-11-18 ------------------------------------------------------------------------ r56822 | nobu | 2016-11-18 13:34:26 +0900 (Fri, 18 Nov 2016) | 6 lines extmk.rb: removed compiled? method [ci skip] * ext/extmk.rb (compiled?): removed. * ext/win32/extconf.rb: try to install libraries regardless fiddle. ------------------------------------------------------------------------ r56821 | hsbt | 2016-11-17 22:05:46 +0900 (Thu, 17 Nov 2016) | 12 lines Remove webhook notification to Travis CI [skip ci] As travis-rubies now uses 3 Mac jobs to create archives for various OS releases. This is a bit wasteful if multiple builds pass in a short period. Instead, Travis CI is now running a nightly build of ruby-head (around 22:30 UTC). This will happen regardless of the state of the master branch. Author: Hiro Asari <asari.ruby@gmail.com> ------------------------------------------------------------------------ r56820 | nobu | 2016-11-17 20:52:11 +0900 (Thu, 17 Nov 2016) | 4 lines readline.c: str_subpos * ext/readline/readline.c (str_subpos): make string instance only if necessary. ------------------------------------------------------------------------ r56819 | usa | 2016-11-17 17:50:36 +0900 (Thu, 17 Nov 2016) | 4 lines numeric.c: get rid of a compile error on mingw64 * numeric.c (rb_fix2str): typo. ------------------------------------------------------------------------ r56818 | svn | 2016-11-17 16:19:50 +0900 (Thu, 17 Nov 2016) | 1 line * 2016-11-17 ------------------------------------------------------------------------ r56817 | shugo | 2016-11-17 16:19:49 +0900 (Thu, 17 Nov 2016) | 4 lines mkconfig.rb: add a magic comment to rbconfig.rb * tool/mkconfig.rb: add a magic comment to rbconfig.rb in case the command line option -K is specified. [ruby-core:78181] [Bug #12949] ------------------------------------------------------------------------ r56815 | nobu | 2016-11-16 15:59:42 +0900 (Wed, 16 Nov 2016) | 7 lines logger.rb: fix next rotate time * lib/logger.rb (Logger::LogDevice#initialize): calculate next rotate time based on the mtime of the last existing file. [ruby-dev:49881] [Bug #12948] Author: Tsukasa Oishi <tsukasa.oishi@gmail.com> ------------------------------------------------------------------------ r56814 | nobu | 2016-11-16 15:59:41 +0900 (Wed, 16 Nov 2016) | 1 line test/logger/test_logdevice.rb: heredoc styles ------------------------------------------------------------------------ r56813 | nobu | 2016-11-16 15:59:40 +0900 (Wed, 16 Nov 2016) | 5 lines ruby-additional.el: unquoted code block * misc/ruby-additional.el (ruby-insert-heredoc-code-block): make code between "begin;" and "end;" unquoted. still quotable before "begin;". ------------------------------------------------------------------------ r56812 | nobu | 2016-11-16 15:07:55 +0900 (Wed, 16 Nov 2016) | 4 lines configure.in: compressed debug section option * configure.in: make compressed debug section optional. [ruby-core:78121] [Bug #12934] ------------------------------------------------------------------------ r56811 | nobu | 2016-11-16 14:25:53 +0900 (Wed, 16 Nov 2016) | 4 lines test_flip.rb: r56316 * test/ruby/test_flip.rb (test_input_line_number_range): test for r56316. [ruby-core:78162] [Bug #12947] ------------------------------------------------------------------------ r56810 | mrkn | 2016-11-16 13:25:37 +0900 (Wed, 16 Nov 2016) | 4 lines math.c: remove needless ifdef clause * math.c (ifdef M_PI): M_PI is eventually defined in missing.h even if math.h doesn't supply it. ------------------------------------------------------------------------ r56809 | mrkn | 2016-11-16 13:25:35 +0900 (Wed, 16 Nov 2016) | 16 lines complex.c: optimize Numeric#polar and Numeric#arg * complex.c (numeric_polar): optimize for Integer, Float, and Rational. * complex.c (numeric_arg): directly create the value of pi. * complex.c (f_negative_p): optimize for Integer, Float, and Rational. * rational.c (INT_NEGATIVE_P): move the definition into internal.h. * internal.h (INT_NEGATIVE_P): ditto. * numeric.c (rb_float_abs): rename from flo_abs and export to be used from other source files.. * internal.h (rb_float_abs): ditto. ------------------------------------------------------------------------ r56808 | mrkn | 2016-11-16 13:25:33 +0900 (Wed, 16 Nov 2016) | 4 lines rational.c: optimize Rational#abs * rational.c (rb_rational_abs): optimize Rational#abs with the specialized implementation. ------------------------------------------------------------------------ r56807 | hsbt | 2016-11-16 12:02:42 +0900 (Wed, 16 Nov 2016) | 3 lines Fix a typo. https://github.com/ruby/psych/commit/18d13b1df09504548feb4cb9b259fed552d6a4d5 ------------------------------------------------------------------------ r56806 | hsbt | 2016-11-16 11:51:26 +0900 (Wed, 16 Nov 2016) | 4 lines Fixed regression of typo fix. Picked from upstream: https://github.com/ruby/psych/commit/66fb7fb77533d0606748940288858794752d95cb [ci skip][ruby-dev:49879][Bug #12942] ------------------------------------------------------------------------ r56805 | svn | 2016-11-16 00:04:57 +0900 (Wed, 16 Nov 2016) | 1 line * 2016-11-16 ------------------------------------------------------------------------ r56804 | kazu | 2016-11-16 00:04:56 +0900 (Wed, 16 Nov 2016) | 1 line Fix regexp and typo ------------------------------------------------------------------------ r56801 | naruse | 2016-11-15 21:42:04 +0900 (Tue, 15 Nov 2016) | 3 lines Use rb_mod_name instead of classname classname() is static function. ------------------------------------------------------------------------ r56799 | shugo | 2016-11-15 17:16:45 +0900 (Tue, 15 Nov 2016) | 1 line ftp.rb: use Addrinfo interfaces ------------------------------------------------------------------------ r56797 | nobu | 2016-11-15 15:28:05 +0900 (Tue, 15 Nov 2016) | 6 lines complex.c: purge id_eqeq_p and limit return value * complex.c (f_eqeq_p): use rb_equal. * complex.c (nucomp_eqeq_p): limit return value to true or false, instead of the result of the other as-is. ------------------------------------------------------------------------ r56795 | nobu | 2016-11-15 10:39:11 +0900 (Tue, 15 Nov 2016) | 4 lines socket.rb: remove closed checks * ext/socket/lib/socket.rb: remove unnecessary closed checks, close on closed socket no longer raises an exception. ------------------------------------------------------------------------ r56794 | nobu | 2016-11-15 10:39:10 +0900 (Tue, 15 Nov 2016) | 4 lines ftp.rb: use Addrinfo * lib/net/ftp.rb (sendport, makeport, makepasv, BufferedSocket): use Addrinfo interfaces. ------------------------------------------------------------------------ r56793 | normal | 2016-11-15 09:27:20 +0900 (Tue, 15 Nov 2016) | 11 lines st.c: fix crashes on huge hash tables From: Vladimir Makarov <vmakarov@redhat.com> By Vladimir's estimation, this requires at least 64 GB of memory to reproduce this bug due to the hash sizes required. So there is no new test case (and I am unable to test it, myself). * st.c (get_bins_num): avoid out-of-bounds on shift by using correct type [ruby-core:78139] [Bug #12939] * st.c (get_allocated_entries): ditto ------------------------------------------------------------------------ r56792 | headius | 2016-11-15 04:39:21 +0900 (Tue, 15 Nov 2016) | 2 lines * test/thread/test_queue.rb: Give up to ten seconds for threads to reach expected state before proceeding. ------------------------------------------------------------------------ r56791 | svn | 2016-11-15 04:27:25 +0900 (Tue, 15 Nov 2016) | 1 line * 2016-11-15 ------------------------------------------------------------------------ r56790 | headius | 2016-11-15 04:27:24 +0900 (Tue, 15 Nov 2016) | 5 lines * test/ruby/test_module.rb: Method tables are not guaranteed to be ordered. * test/ruby/test_struct.rb: Ditto. * test/ruby/test_thread.rb: Thread locals are not guaranteed to be ordered. ------------------------------------------------------------------------ r56780 | nobu | 2016-11-14 16:59:50 +0900 (Mon, 14 Nov 2016) | 3 lines net/ftp.rb: kwargs * lib/net/ftp.rb (Net::FTP#open_socket): use keyword argument. ------------------------------------------------------------------------ r56779 | nobu | 2016-11-14 16:53:32 +0900 (Mon, 14 Nov 2016) | 4 lines net/protocol.rb: kwargs * lib/net/protocol.rb (Net::BufferedIO#initialize): add keyword arguments for initial attributes. ------------------------------------------------------------------------ r56778 | nobu | 2016-11-14 16:53:31 +0900 (Mon, 14 Nov 2016) | 6 lines socket.rb: kwargs * ext/socket/lib/socket.rb (connect_{from,to}, connect): let use keyword arguments. * ext/socket/lib/socket.rb (Socket.tcp): ditto. ------------------------------------------------------------------------ r56777 | nobu | 2016-11-14 14:17:55 +0900 (Mon, 14 Nov 2016) | 4 lines vm_eval.c: fstring instance_eval * vm_eval.c (singleton_class_for_eval): enable fstring singleton class for instance_eval. [ruby-core:78116] [Bug #12930] ------------------------------------------------------------------------ r56776 | nobu | 2016-11-14 13:06:15 +0900 (Mon, 14 Nov 2016) | 8 lines complex.c: optimize * complex.c (f_negative_p): use rb_num_negative_p instead of funcall. * complex.c (f_kind_of_p, f_numeric_p): cast down to int because rb_obj_is_kind_of is safe. * complex.c (f_signbit, f_tpositive_p): remove f_boolcast. ------------------------------------------------------------------------ r56775 | nobu | 2016-11-14 13:02:45 +0900 (Mon, 14 Nov 2016) | 4 lines rational.c: cast to int * rational.c (f_kind_of_p): rb_obj_is_kind_of returns Qtrue or Qfalse always, and is safe to cast down to int. ------------------------------------------------------------------------ r56774 | svn | 2016-11-14 09:40:06 +0900 (Mon, 14 Nov 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56773 | hsbt | 2016-11-14 09:40:04 +0900 (Mon, 14 Nov 2016) | 4 lines Update bundled psych to 2.2.0. * Merge libyaml-0.1.7 for bundled-libyaml option. * Update canonical url to https://github.com/ruby/psych. ------------------------------------------------------------------------ r56772 | mrkn | 2016-11-14 01:43:43 +0900 (Mon, 14 Nov 2016) | 5 lines complex.c: refactoring * complex.c (f_zero_p): return int rather than VALUE. * complex.c (rb_complex_mul): remove needless negate operations. ------------------------------------------------------------------------ r56771 | mrkn | 2016-11-14 01:22:26 +0900 (Mon, 14 Nov 2016) | 3 lines complex.c: refactoring * complex.c (f_one_p): removed. ------------------------------------------------------------------------ r56770 | mrkn | 2016-11-14 01:22:08 +0900 (Mon, 14 Nov 2016) | 6 lines complex.c: refactoring and small optimization * complex.c (nucomp_expt): optimize the access to the numerator and denominator of a rational number. * complex.c (k_rational_p): removed. ------------------------------------------------------------------------ r56769 | svn | 2016-11-14 01:21:55 +0900 (Mon, 14 Nov 2016) | 1 line * 2016-11-14 ------------------------------------------------------------------------ r56768 | mrkn | 2016-11-14 01:21:54 +0900 (Mon, 14 Nov 2016) | 3 lines complex.c: refactoring * complex.c (f_addsub, k_complex_p, k_float_p): removed. ------------------------------------------------------------------------ r56767 | nobu | 2016-11-13 14:25:54 +0900 (Sun, 13 Nov 2016) | 7 lines error.c: redefined backtrace * error.c (rb_get_backtrace): honor redefined Exception#backtrace method. [ruby-core:78097] [Bug #12925] * eval.c (setup_exception): rescue exceptions during backtrace setup. ------------------------------------------------------------------------ r56766 | nobu | 2016-11-13 14:25:53 +0900 (Sun, 13 Nov 2016) | 4 lines error.c: rb_get_backtrace * error.c (rb_get_backtrace): move from eval_error.c to call exc_backtrace directly. [ruby-core:78097] [Bug #12925] ------------------------------------------------------------------------ r56765 | nobu | 2016-11-13 11:11:07 +0900 (Sun, 13 Nov 2016) | 7 lines readline: remove dependency on internal.h * ext/readline/depend: remove dependency on internal.h. * ext/readline/readline.c (readline_s_delete_text): use rb_enc_str_new_static instead of rb_setup_fake_str not to depend on internal.h. ------------------------------------------------------------------------ r56764 | nobu | 2016-11-13 11:04:51 +0900 (Sun, 13 Nov 2016) | 4 lines numeric.c: limit return value * numeric.c (num_equal): limit return value to true or false, instead of the result of the other as-is. ------------------------------------------------------------------------ r56763 | nobu | 2016-11-13 10:51:29 +0900 (Sun, 13 Nov 2016) | 5 lines purge id_eqeq_p * rational.c (f_{eqeq,zero,one,minus_one}_p, nurat_eqeq_p): use rb_equal. this function returns Qtrue or Qfalse always, so it is safe to cast down to int. ------------------------------------------------------------------------ r56762 | mrkn | 2016-11-13 03:42:30 +0900 (Sun, 13 Nov 2016) | 6 lines complex.c: refactoring * complex.c: refactor to use some specific macros and to reduce needless conversion by FIX2LONG. * complex.c (k_fixnum_p, k_bignum_p): removed. ------------------------------------------------------------------------ r56761 | mrkn | 2016-11-13 01:29:11 +0900 (Sun, 13 Nov 2016) | 3 lines rational.c: refactoring * rational.c: use RB_INTEGER_TYPE_P, RB_FLOAT_TYPE_P, and FIXNUM_ZERO_P. ------------------------------------------------------------------------ r56760 | mrkn | 2016-11-13 00:43:34 +0900 (Sun, 13 Nov 2016) | 3 lines rational.c: remove f_negative_p * rational.c (f_negative_p): removed. ------------------------------------------------------------------------ r56759 | mrkn | 2016-11-13 00:43:26 +0900 (Sun, 13 Nov 2016) | 8 lines rational.c: optimize Integer#lcm * rational.c (f_div, f_mul, f_abs): optimize Integer#lcm Author: Tadashi Saito <tad.a.digger@gmail.com> * numeric.c (rb_int_abs): rename from int_abs to be exported. * internal.h (rb_int_div, rb_int_abs): exported. ------------------------------------------------------------------------ r56758 | mrkn | 2016-11-13 00:43:18 +0900 (Sun, 13 Nov 2016) | 4 lines rational.c: optimize (-rational).rationalize(some) * rational.c (nurat_rationalize): optimize (-rational).rationalize(some). Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56757 | svn | 2016-11-13 00:07:53 +0900 (Sun, 13 Nov 2016) | 1 line * 2016-11-13 ------------------------------------------------------------------------ r56756 | mrkn | 2016-11-13 00:07:53 +0900 (Sun, 13 Nov 2016) | 5 lines rational.c: define Rational#{negative?,positive?} * rational.c (nurat_{negative,positive}_p): define Rational#negative? and Rational#positive?, respectively. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56755 | mrkn | 2016-11-12 23:54:19 +0900 (Sat, 12 Nov 2016) | 4 lines rational.c: refactoring * rational.c (id_expt, id_fdiv, f_expt, f_fdiv, f_positive_p): removed. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56754 | nobu | 2016-11-12 22:24:23 +0900 (Sat, 12 Nov 2016) | 4 lines test_fstring.rb: fix exception * test/-ext-/string/test_fstring.rb (test_singleton_class): fix expected exception class. [ruby-dev:49867] [Bug #12923] ------------------------------------------------------------------------ r56753 | mrkn | 2016-11-12 21:16:12 +0900 (Sat, 12 Nov 2016) | 3 lines raitonal.c: remove needless macro * rational.c (id_lshift, f_lshift): removed. ------------------------------------------------------------------------ r56752 | mrkn | 2016-11-12 21:14:10 +0900 (Sat, 12 Nov 2016) | 5 lines rational.c: optimize Float#rationalize * rational.c (rb_flt_rationalize{,_with_prec},float_rationalize): optimize Float#rationalize. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56751 | mrkn | 2016-11-12 20:52:09 +0900 (Sat, 12 Nov 2016) | 4 lines rational.c: use rb_num_zerodiv instead of rb_raise_zerodiv * rational.c (rb_raize_zerodiv): replace by rb_num_zerodiv. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56750 | mrkn | 2016-11-12 20:52:00 +0900 (Sat, 12 Nov 2016) | 7 lines rational.c: optimize Float#to_r * rational.c (float_to_r): optimize Float#to_r. * numeric.c (rb_int_lshift): exported. * internal.h (rb_int_lshift): ditto. ------------------------------------------------------------------------ r56749 | mrkn | 2016-11-12 20:51:51 +0900 (Sat, 12 Nov 2016) | 5 lines rational.c: optimize Float#{numerator,denominator} * rational.c (float_{numerator,denominator}): optimize Float#{numerator,denominator}. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56748 | mrkn | 2016-11-12 20:51:41 +0900 (Sat, 12 Nov 2016) | 4 lines rational.c: optimize Numeric#quo * rational.c (numeric_quo): optimize Numeric#quo. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56747 | nobu | 2016-11-12 18:43:05 +0900 (Sat, 12 Nov 2016) | 5 lines class.c: no fstring singleton class * class.c (singleton_class_of): prohibit fstrings from creating singleton classes. temporary measure for [ruby-dev:49867] [Bug #12923] ------------------------------------------------------------------------ r56746 | nobu | 2016-11-12 17:16:58 +0900 (Sat, 12 Nov 2016) | 4 lines symbol/noninterned_name.rb * test/-ext-/symbol/noninterned_name.rb: split from test_inadvertent_creation.rb. ------------------------------------------------------------------------ r56745 | mrkn | 2016-11-12 16:32:28 +0900 (Sat, 12 Nov 2016) | 3 lines rational.c: refactor by removing needless ID vars * rational.c (id_cmp, id_trunate): removed. ------------------------------------------------------------------------ r56744 | mrkn | 2016-11-12 16:28:47 +0900 (Sat, 12 Nov 2016) | 8 lines rational.c: optimize Rational#fdiv * rational.c (nurat_fdiv): optimize Rational#fdiv. Author: Tadashi Saito <tad.a.digger@gmail.com> * rational.c (f_to_f, id_to_f): removed. * rational.c (f_expt): only used when FLT_RADIX is not 2. ------------------------------------------------------------------------ r56743 | mrkn | 2016-11-12 15:58:35 +0900 (Sat, 12 Nov 2016) | 4 lines rational.c: optimize Rational#to_i * rational.c (nurat_truncate): optimize Rational#to_i. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56742 | mrkn | 2016-11-12 15:45:11 +0900 (Sat, 12 Nov 2016) | 11 lines rational.c: optimize Rational#{floor,ceil,round,truncate} * rational.c (f_{expt10,round_common},nurat_{floor,ceil,round_half_{up,even}}): optimize Rational#{floor,ceil,round,truncate}. Author: Tadashi Saito <tad.a.digger@gmail.com> * numeric.c (rb_int_divmod): rename from int_divmod to be exported. * numeric.c (rb_int_and): rename from int_and to be exported. * intern.h (rb_int_{divmod,and}): exported. ------------------------------------------------------------------------ r56741 | mrkn | 2016-11-12 15:17:12 +0900 (Sat, 12 Nov 2016) | 5 lines rational.c: optimize rational.coerce(float) and float [+-*/] rational * rational.c (nurat_coerce): optimize rational.coerce(float). note that this makes `float [+-*/] rational` faster Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56740 | nobu | 2016-11-12 15:12:13 +0900 (Sat, 12 Nov 2016) | 7 lines pack.c: simplify * pack.c (str_associate): remove unnecessary branch. the argument must be a plain vanilla string object. * pack.c (str_associated): use rb_ivar_lookup to give the undefined value. ------------------------------------------------------------------------ r56739 | nobu | 2016-11-12 15:12:12 +0900 (Sat, 12 Nov 2016) | 4 lines class.c: trivial optimization * class.c (singleton_class_of): just copy FROZEN flag without conditions. ------------------------------------------------------------------------ r56738 | nobu | 2016-11-12 15:12:09 +0900 (Sat, 12 Nov 2016) | 4 lines .gdbinit: improve rp [ci skip] * .gdbinit (rp): improve T_OBJECT dump. show the contents of the instance variables table. ------------------------------------------------------------------------ r56737 | mrkn | 2016-11-12 15:07:46 +0900 (Sat, 12 Nov 2016) | 9 lines rational.c: optimize construction of Rational * rational.c (nurat_{s_new_bang,canonicalize,f_rational,s_convert}): optimize construction of Rational from numbers. Author: Tadashi Saito <tad.a.digger@gmail.com> * rational.c (read_{num,rat_nos}): optimize construction of Rational from string. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56736 | mrkn | 2016-11-12 15:07:24 +0900 (Sat, 12 Nov 2016) | 10 lines rational.c: purge f_cmp * rational.c (f_cmp, nurat_expt): purge f_cmp. Author: Tadashi Saito <tad.a.digger@gmail.com> * rational.c (INT_POSITIVE_P): added. * numeric.c (FIXNUM_POSITIVE_P): move the definition into internal.h. * internal.h (FIXNUM_POSITIVE_P): ditto. ------------------------------------------------------------------------ r56735 | mrkn | 2016-11-12 15:07:01 +0900 (Sat, 12 Nov 2016) | 4 lines rational.c: optimize Rational#-@ * rational.c (nurat_negate): introduced to optimize Rational#-@. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56734 | mrkn | 2016-11-12 11:24:32 +0900 (Sat, 12 Nov 2016) | 9 lines rational.c: optimize Rational#== * rational.c (nurat_eqeq_p): optimize Rational#==. Author: Tadashi Saito <tad.a.digger@gmail.com> * numeric.c (rb_int_equal): rename from int_equal and remove static to be exported. * internal.h (rb_int_equal): exported. ------------------------------------------------------------------------ r56733 | mrkn | 2016-11-12 10:29:01 +0900 (Sat, 12 Nov 2016) | 9 lines rational.c: optimize Rational#<=> * rational.c (nurat_cmp): optimize Rational#<=>. Author: Tadashi Saito <tad.a.digger@gmail.com> * numeric.c (rb_int_cmp): rename from int_cmp and remove static to be exported. * internal.h (rb_int_cmp): exported. ------------------------------------------------------------------------ r56725 | mrkn | 2016-11-12 01:38:28 +0900 (Sat, 12 Nov 2016) | 9 lines rational.c: optimize Rational#** * rational.c (nurat_expt): optimize Rational#**. Author: Tadashi Saito <tad.a.digger@gmail.com> * numeric.c (rb_float_pow): rename flo_pow() to rb_float_pow() and remove static to be exporetd. * internal.h (rb_int_pow, rb_float_pow): exported. ------------------------------------------------------------------------ r56724 | mrkn | 2016-11-12 01:18:13 +0900 (Sat, 12 Nov 2016) | 3 lines rational.c: add argument type check assertions in f_muldiv * rational.c (f_muldiv): add assertions to check argument types ------------------------------------------------------------------------ r56723 | mrkn | 2016-11-12 01:17:56 +0900 (Sat, 12 Nov 2016) | 4 lines rational.c: optimize Rational#/ * rational.c (f_muldiv, nurat_div): optimize Rational#/. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56719 | mrkn | 2016-11-12 00:55:30 +0900 (Sat, 12 Nov 2016) | 25 lines rational.c: avoid needless object allocation with nurat_to_double * rational.c (nurat_to_double): introduce to convert rational to double without object allocation. * rational.c (rb_rational_plus, nurat_{sub,mul,to_f}): rewrite by using nurat_to_double. * bignum.c (rb_big_fdiv_double): introduce to calculate fdiv and return the result as a double value. * bignum.c (big_fdiv{,_int,_float}): change the return types for implementing rb_big_fdiv_double. * bignum.c (rb_big_fdiv): rewrite by using rb_big_fdiv_double. * numeric.c (rb_int_fdiv_double): introduce to calculate fdiv and return the result as a double value. * numeric.c (fix_fdiv_double): rewrite from fix_fdiv to return the result as a double value. * numeric.c (rb_int_fdiv): rewrite by using rb_int_fdiv_double. * internal.h (rb_{big,int}_fdiv_double): exported. ------------------------------------------------------------------------ r56716 | nagachika | 2016-11-12 00:43:43 +0900 (Sat, 12 Nov 2016) | 2 lines fix a constant name typo in redmine-backporter.rb [ci skip] ------------------------------------------------------------------------ r56713 | svn | 2016-11-12 00:11:05 +0900 (Sat, 12 Nov 2016) | 1 line * 2016-11-12 ------------------------------------------------------------------------ r56712 | mrkn | 2016-11-12 00:11:04 +0900 (Sat, 12 Nov 2016) | 5 lines rational.c: optimize rational * {float, huge rational, bignum} * rational.c (f_muldiv, nurat_mul): optimize rational * {float, huge rational, bignum}. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56711 | mrkn | 2016-11-11 23:57:11 +0900 (Fri, 11 Nov 2016) | 4 lines rational.c: optimize rational - {float,rational} * rational.c (f_addsub, nurat_sub): optimize rational - {float,rational}. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56710 | mrkn | 2016-11-11 23:45:11 +0900 (Fri, 11 Nov 2016) | 4 lines rational.c: optimize rational - integer * rational.c (nurat_sub): optimize rational - integer. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56709 | mrkn | 2016-11-11 23:42:53 +0900 (Fri, 11 Nov 2016) | 4 lines rational.c: optimize rational + rational * rational.c (f_addsub): optimize rational + rational. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56708 | mrkn | 2016-11-11 23:39:34 +0900 (Fri, 11 Nov 2016) | 4 lines rational.c: prevent unused warning * rational.c (f_mod): define only when NDEBUG is not defined to prevent unused warning ------------------------------------------------------------------------ r56707 | mrkn | 2016-11-11 23:39:25 +0900 (Fri, 11 Nov 2016) | 8 lines numeric.c, rational.c: refactor by using FIXNUM_NEGATIVE_P and FIXNUM_ZERO_P * numeric.c (num_zero_p, fix_divide, fix_mod, fix_divmod): refactor by using FIXNUM_NEGATIVE_P and FIXNUM_ZERO_P. * rational.c (INT_NEGATIVE_P, INT_ZERO_P): ditto. * internal.h: move FIXNUM_NEGATIVE_P and FIXNUM_ZERO_P from numeric.c ------------------------------------------------------------------------ r56706 | mrkn | 2016-11-11 23:39:16 +0900 (Fri, 11 Nov 2016) | 4 lines rational.c: optimize Integer#gcd. * rational.c (f_gcd_normal): optimize Integer#gcd. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56705 | mrkn | 2016-11-11 23:39:07 +0900 (Fri, 11 Nov 2016) | 4 lines rational.c: optimize rational + integer. * rational.c (rb_rational_plus): optimize rational + integer. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56704 | mrkn | 2016-11-11 23:38:59 +0900 (Fri, 11 Nov 2016) | 4 lines rational.c: optimize rational + float. * rational.c (rb_rational_plus): optimize rational + float. Author: Tadashi Saito <tad.a.digger@gmail.com> ------------------------------------------------------------------------ r56703 | nobu | 2016-11-11 20:52:03 +0900 (Fri, 11 Nov 2016) | 4 lines range.c: check loading * range.c (range_loader): check loading values if the data came from an initialized range object. [ruby-core:78067] [Bug #12915] ------------------------------------------------------------------------ r56702 | nobu | 2016-11-11 16:26:14 +0900 (Fri, 11 Nov 2016) | 4 lines rational.c: check load * rational.c (nurat_loader, nurat_marshal_load): check if loading values are Integer. [ruby-core:78071] [Bug #12918] ------------------------------------------------------------------------ r56701 | nobu | 2016-11-11 16:08:53 +0900 (Fri, 11 Nov 2016) | 7 lines rational.c: optimize * rational.c (f_{lt,eqeq,zero,one,minus_one,kind_of}_p): add RTEST to results of funcalls. * rational.c (f_negative_p, k_{integer,float,rational}_p): optimize. ------------------------------------------------------------------------ r56700 | nobu | 2016-11-11 16:08:52 +0900 (Fri, 11 Nov 2016) | 1 line rational.c: use RB_INTEGER_TYPE_P ------------------------------------------------------------------------ r56699 | akr | 2016-11-11 12:04:38 +0900 (Fri, 11 Nov 2016) | 2 lines Enable the document for Kernel[#.]pp. ------------------------------------------------------------------------ r56698 | nobu | 2016-11-11 09:08:41 +0900 (Fri, 11 Nov 2016) | 4 lines vm_eval.c: reorder * vm_eval.c (vm_call0_body): reorder the conditions. [ruby-core:78073] [Bug #12920] ------------------------------------------------------------------------ r56697 | mrkn | 2016-11-11 00:23:43 +0900 (Fri, 11 Nov 2016) | 3 lines rational.c: optimize Rational#to_f by using rb_int_fdiv * rational.c (nurat_to_f): optimize Rational#to_f by using rb_int_fdiv. ------------------------------------------------------------------------ r56696 | svn | 2016-11-11 00:23:34 +0900 (Fri, 11 Nov 2016) | 1 line * 2016-11-11 ------------------------------------------------------------------------ r56695 | mrkn | 2016-11-11 00:23:33 +0900 (Fri, 11 Nov 2016) | 5 lines numeric.c, internal.h: export int_fdiv() as rb_int_fdiv() * numeric.c (rb_int_fdiv): export int_fdiv() as rb_int_fdiv(). * internal.h (rb_int_fdiv): add declaration of rb_int_fdiv(). ------------------------------------------------------------------------ r56694 | nobu | 2016-11-10 23:18:52 +0900 (Thu, 10 Nov 2016) | 4 lines vm_eval.c: fix refined method when prepended * vm_eval.c (vm_call0_body): refined module should not be skipped as prepended. [ruby-core:78073] [Bug #12920] ------------------------------------------------------------------------ r56693 | nobu | 2016-11-10 19:39:51 +0900 (Thu, 10 Nov 2016) | 3 lines range.c: check if range modifiable * range.c (range_modify): frozen object cannot be modified. ------------------------------------------------------------------------ r56692 | nobu | 2016-11-10 16:47:44 +0900 (Thu, 10 Nov 2016) | 5 lines parse.y: new_attr_op_assign in ripper needs symbol * parse.y (command_asgn, arg): new_attr_op_assign in ripper expects a Symbol VALUE as the operator, not an ID, so convert literal IDs to Symbols. [ruby-core:78069] [Bug #12916] ------------------------------------------------------------------------ r56691 | nobu | 2016-11-10 16:47:43 +0900 (Thu, 10 Nov 2016) | 4 lines test_files.rb: sample size * test/ripper/test_files.rb (assert_parse_files): extract at least one sample. ------------------------------------------------------------------------ r56690 | nobu | 2016-11-10 15:45:57 +0900 (Thu, 10 Nov 2016) | 4 lines test_files.rb: separate tests * test/ripper/test_files.rb (assert_parse_files): separate tests for each directories. ------------------------------------------------------------------------ r56689 | hsbt | 2016-11-10 15:38:14 +0900 (Thu, 10 Nov 2016) | 4 lines Use environment variable for system ruby detection on appveyor. * Use ruby_version instead of 22-x64 and 21-x64 * Use 23-x64 to build Ruby ------------------------------------------------------------------------ r56688 | nobu | 2016-11-10 12:50:47 +0900 (Thu, 10 Nov 2016) | 4 lines make-snapshot: repository options * tool/make-snapshot: add -svn and -git options to direct the repository to export. ------------------------------------------------------------------------ r56687 | nobu | 2016-11-10 12:50:46 +0900 (Thu, 10 Nov 2016) | 4 lines make-snapshot: program name * tool/make-snapshot (package): abort with the basename of this script. ------------------------------------------------------------------------ r56686 | shugo | 2016-11-10 11:23:58 +0900 (Thu, 10 Nov 2016) | 11 lines Extend timeout for RubyCI chkbuild on Debian 8.2 x86_64. On that machine, TestQueue#test_thr_kill often fails as follows: 1) Failure: TestQueue#test_thr_kill [/home/hsbt/chkbuild/tmp/build/20161109T213002Z/ruby/test/thread/test_queue.rb:155]: only 171/250 done in 30 seconds. Even if it passes, it takes about 30 seconds: [11160/16832] TestQueue#test_thr_kill = 29.80 s ------------------------------------------------------------------------ r56685 | svn | 2016-11-10 09:49:17 +0900 (Thu, 10 Nov 2016) | 1 line * 2016-11-10 ------------------------------------------------------------------------ r56684 | nobu | 2016-11-10 09:49:17 +0900 (Thu, 10 Nov 2016) | 5 lines test_process.rb: fix pgroup test * test/ruby/test_process.rb (TestProcess#test_execopts_pgroup): use dynamically assigned pid for the process group, instead of a magic number 2. [ruby-core:78051] [Bug #12909] ------------------------------------------------------------------------ r56683 | nobu | 2016-11-10 09:49:16 +0900 (Thu, 10 Nov 2016) | 3 lines range.c: indent [ci skip] * range.c (range_alloc): adjust indent of comments. ------------------------------------------------------------------------ r56682 | nobu | 2016-11-09 11:42:30 +0900 (Wed, 09 Nov 2016) | 4 lines default.mspec: end of options * spec/default.mspec (MSpecScript): add the end of options to runruby.rb, to fix failure at ruby/spec@a0e55db. ------------------------------------------------------------------------ r56681 | a_matsuda | 2016-11-09 05:25:44 +0900 (Wed, 09 Nov 2016) | 6 lines Fix undefined method 'dump' for nil:NilClass (NoMethodError) Patch by: Dmitry Vorotilin <d.vorotilin@gmail.com> (@route) Signed-off-by: Akira Matsuda <ronnie@dio.jp> closes #1475 ------------------------------------------------------------------------ r56680 | a_matsuda | 2016-11-09 04:55:59 +0900 (Wed, 09 Nov 2016) | 8 lines Fix grammar errors Patch by: Chris Tweedie <cltweedie@gmail.com> (@cltweedie) Signed-off-by: Akira Matsuda <ronnie@dio.jp> closes #1074 [ci skip] ------------------------------------------------------------------------ r56679 | a_matsuda | 2016-11-09 04:43:58 +0900 (Wed, 09 Nov 2016) | 9 lines Update documentation of fetch The sentence `Negative values of +index+ count from the end of the array.` can be interpreted that it only holds if a block is given. Clarify it. Patch by: Lukas Elmer <lukas.elmer@gmail.com> (@lukaselmer) Signed-off-by: Akira Matsuda <ronnie@dio.jp> closes #1472 [ci skip] ------------------------------------------------------------------------ r56678 | a_matsuda | 2016-11-09 04:37:59 +0900 (Wed, 09 Nov 2016) | 15 lines Fix typo in code doc of proc.c Insure has a different meaning than ensure and we mean the latter in this case. *Ensure* is to do or have what is necessary for success. Example: These blankets ensure that you'll be warm enough. *Insure* is to cover with an insurance policy. Example: I will insure my home with additional fire and flood policies. Patch by: Dimitris Zorbas <zorbash@skroutz.gr> (@Zorbash) Signed-off-by: Akira Matsuda <ronnie@dio.jp> closes #1352 ------------------------------------------------------------------------ r56677 | kazu | 2016-11-09 00:04:29 +0900 (Wed, 09 Nov 2016) | 1 line Add a space [ci skip] ------------------------------------------------------------------------ r56676 | svn | 2016-11-09 00:01:56 +0900 (Wed, 09 Nov 2016) | 1 line * 2016-11-09 ------------------------------------------------------------------------ r56675 | kazu | 2016-11-09 00:01:55 +0900 (Wed, 09 Nov 2016) | 1 line Add ticket number [ci skip] ------------------------------------------------------------------------ r56674 | a_matsuda | 2016-11-08 20:57:00 +0900 (Tue, 08 Nov 2016) | 6 lines Update comment about default constant Patch by: Dave Takahashi <dtcello@gmail.com> (@dtakahas) Signed-off-by: Akira Matsuda <ronnie@dio.jp> closes #1151 ------------------------------------------------------------------------ r56673 | nobu | 2016-11-08 19:44:21 +0900 (Tue, 08 Nov 2016) | 4 lines vcs.rb: fix GIT.get_revisions * tool/vcs.rb (VCS::GIT.get_revisions): fix for out-of-place build. ------------------------------------------------------------------------ r56672 | svn | 2016-11-08 18:31:53 +0900 (Tue, 08 Nov 2016) | 1 line * properties. ------------------------------------------------------------------------ r56671 | naruse | 2016-11-08 18:31:52 +0900 (Tue, 08 Nov 2016) | 3 lines Moved deleted ChangeLog into doc/ChangeLog-2.4.0 And Add doc/ChangeLog-2016 as an anchor. ------------------------------------------------------------------------ r56670 | nobu | 2016-11-08 16:47:23 +0900 (Tue, 08 Nov 2016) | 5 lines vcs.rb: format from git-log * tool/vcs.rb (VCS::GIT#export_changelog): re-format from git-log to svn style log, instead of git-svn, because cloned working directory would not have .git/svn. ------------------------------------------------------------------------ r56669 | nobu | 2016-11-08 16:45:19 +0900 (Tue, 08 Nov 2016) | 4 lines vcs.rb: expand srcdir * tool/vcs.rb (VCS::GIT#initialize): expand srcdir if it is a local path. ------------------------------------------------------------------------ r56668 | nobu | 2016-11-08 15:39:46 +0900 (Tue, 08 Nov 2016) | 6 lines vcs.rb: fix srcdir in VCS::GIT * tool/vcs.rb (VCS::GIT.cmd_args): add chdir option to arguments for IO.popen if srcdir is a local path. unless -srcdir command line option is given, srcdir is the default URL. [ruby-core:78036] [Bug #12908] ------------------------------------------------------------------------ r56667 | svn | 2016-11-08 00:26:11 +0900 (Tue, 08 Nov 2016) | 1 line * 2016-11-08 ------------------------------------------------------------------------ r56666 | kazu | 2016-11-08 00:26:10 +0900 (Tue, 08 Nov 2016) | 3 lines Add entry for Enumerator::Lazy#chunk_while [ci skip][GH-1186] ------------------------------------------------------------------------ r56665 | kazu | 2016-11-07 21:10:36 +0900 (Mon, 07 Nov 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r56664 | hsbt | 2016-11-07 18:46:42 +0900 (Mon, 07 Nov 2016) | 1 line Added Entry for Rubygems 2.6.8 update. ------------------------------------------------------------------------ r56663 | nobu | 2016-11-07 16:45:18 +0900 (Mon, 07 Nov 2016) | 4 lines test_optimization.rb: for r56208 * test/ruby/test_optimization.rb (test_tailcall_condition_block): test for r56208. [ruby-core:78015] [Bug #12905] ------------------------------------------------------------------------ r56662 | shugo | 2016-11-07 15:57:14 +0900 (Mon, 07 Nov 2016) | 1 line Extend Net::HTTP#open_timeout for chkbuild on Solaris 10s. ------------------------------------------------------------------------ r56660 | naruse | 2016-11-07 14:53:42 +0900 (Mon, 07 Nov 2016) | 1 line Add NEWS about removing ChangeLog ------------------------------------------------------------------------ r56658 | nobu | 2016-11-07 12:47:46 +0900 (Mon, 07 Nov 2016) | 3 lines vcs.rb: suppress warning * tool/vcs.rb (DebugPOpen): suppress refinements warning in 2.0. ------------------------------------------------------------------------ r56657 | nobu | 2016-11-07 12:28:57 +0900 (Mon, 07 Nov 2016) | 3 lines add cast * hash.c (rb_objid_hash): need to cast down. ------------------------------------------------------------------------ r56656 | nobu | 2016-11-07 12:25:28 +0900 (Mon, 07 Nov 2016) | 7 lines vcs.rb: exclude beginning revision * tool/make-snapshot: pass the last revision in the last ChangeLog file without increment. * tool/vcs.rb (export_changelog): exclude the beginning revision of the range uniformly. svn log includes it, but git log not. ------------------------------------------------------------------------ r56655 | nobu | 2016-11-07 11:54:28 +0900 (Mon, 07 Nov 2016) | 6 lines vcs.rb: unnecessary arguments * tool/make-snapshot: $srcdir is optional. * tool/vcs.rb (export_changelog): remove unnecessary arguments. VCS should know srcdir and url. ------------------------------------------------------------------------ r56654 | nobu | 2016-11-07 11:54:27 +0900 (Mon, 07 Nov 2016) | 4 lines vcs.rb: use chdir option * tool/vcs.rb (export_changelog): for old git, use chdir option instead of git -C option, and set language environmets to C. ------------------------------------------------------------------------ r56653 | shugo | 2016-11-07 11:10:00 +0900 (Mon, 07 Nov 2016) | 1 line Just check that interruption doesn't cause SEGV. ------------------------------------------------------------------------ r56652 | nobu | 2016-11-07 10:23:04 +0900 (Mon, 07 Nov 2016) | 4 lines make-snapshot: sort globbed results * tool/make-snapshot (package): globbed results order is undefined. ------------------------------------------------------------------------ r56651 | ko1 | 2016-11-07 10:03:04 +0900 (Mon, 07 Nov 2016) | 1 line fix NEWS message ------------------------------------------------------------------------ r56650 | ko1 | 2016-11-07 09:45:00 +0900 (Mon, 07 Nov 2016) | 19 lines Introduce table improvement by Vladimir Makarov <vmakarov@redhat.com>. [Feature #12142] See header of st.c for improvment details. You can see all of code history here: <https://github.com/vnmakarov/ruby/tree/hash_tables_with_open_addressing> This improvement is discussed at <https://bugs.ruby-lang.org/issues/12142> with many people, especially with Yura Sokolov. * st.c: improve st_table. * include/ruby/st.h: ditto. * internal.h, numeric.c, hash.c (rb_dbl_long_hash): extract a function. * ext/-test-/st/foreach/foreach.c: catch up this change. ------------------------------------------------------------------------ r56649 | nobu | 2016-11-07 09:04:20 +0900 (Mon, 07 Nov 2016) | 3 lines vcs.rb: popen with env * tool/vcs.rb (IO.popen): support passing environment variables. ------------------------------------------------------------------------ r56648 | naruse | 2016-11-07 02:34:56 +0900 (Mon, 07 Nov 2016) | 3 lines revision.h shouldn't depend ChangeLog Maybe it needs vcs dependent ways. ------------------------------------------------------------------------ r56645 | naruse | 2016-11-07 00:56:27 +0900 (Mon, 07 Nov 2016) | 1 line Obsolete ChangeLog [Feature #12283] ------------------------------------------------------------------------ r56644 | usa | 2016-11-07 00:35:01 +0900 (Mon, 07 Nov 2016) | 5 lines * test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint): ignore on Windows because we cannot handle signaled status of child ruby process on this platform. ------------------------------------------------------------------------ r56643 | svn | 2016-11-07 00:33:10 +0900 (Mon, 07 Nov 2016) | 1 line * 2016-11-07 ------------------------------------------------------------------------ r56642 | shugo | 2016-11-07 00:33:10 +0900 (Mon, 07 Nov 2016) | 1 line confirm that status.termsig is not nil. ------------------------------------------------------------------------ r56641 | shugo | 2016-11-06 23:41:39 +0900 (Sun, 06 Nov 2016) | 2 lines * test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint): send SIGKILL if the child process doesn't die within 1 second. ------------------------------------------------------------------------ r56640 | naruse | 2016-11-06 23:01:21 +0900 (Sun, 06 Nov 2016) | 1 line remove debug sleep & exit ------------------------------------------------------------------------ r56638 | naruse | 2016-11-06 21:57:45 +0900 (Sun, 06 Nov 2016) | 5 lines * tool/vcs.rb (export_changelog): generate ChangeLog file from vcs's log. [Feature #12283] * tool/make-snapshot (package): overwrite ChangeLog by generated ChangeLog. ------------------------------------------------------------------------ r56637 | hsbt | 2016-11-06 21:36:52 +0900 (Sun, 06 Nov 2016) | 1 line * NEWS: Added entry for RDoc 5. ------------------------------------------------------------------------ r56636 | hsbt | 2016-11-06 21:36:47 +0900 (Sun, 06 Nov 2016) | 1 line * NEWS: ordered entries and adjust styles. ------------------------------------------------------------------------ r56635 | hsbt | 2016-11-06 18:23:35 +0900 (Sun, 06 Nov 2016) | 1 line * NEWS: Added entry for [Feature #12160][ruby-core:74239] ------------------------------------------------------------------------ r56634 | hsbt | 2016-11-06 18:18:30 +0900 (Sun, 06 Nov 2016) | 1 line * NEWS: Added entry for r56624. ------------------------------------------------------------------------ r56633 | svn | 2016-11-06 15:58:26 +0900 (Sun, 06 Nov 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56632 | shugo | 2016-11-06 15:58:25 +0900 (Sun, 06 Nov 2016) | 2 lines * configure.in (-Wno-maybe-uninitialized): gcc 6 also shows the same warnings as described in r49410. ------------------------------------------------------------------------ r56631 | nobu | 2016-11-06 14:42:53 +0900 (Sun, 06 Nov 2016) | 5 lines include and prepend check no args * eval.c (rb_mod_include, rb_mod_prepend): check if arguments are given, as well as Kernel#extend. [ruby-dev:49854] [Bug #12887] [Fix GH-1470] ------------------------------------------------------------------------ r56630 | nobu | 2016-11-06 14:39:01 +0900 (Sun, 06 Nov 2016) | 1 line ChangeLog: remove garbage lines ------------------------------------------------------------------------ r56629 | nobu | 2016-11-06 14:38:59 +0900 (Sun, 06 Nov 2016) | 1 line ChangeLog: make us-ascii ------------------------------------------------------------------------ r56628 | nobu | 2016-11-06 14:22:41 +0900 (Sun, 06 Nov 2016) | 1 line ChangeLog: make us-ascii ------------------------------------------------------------------------ r56627 | kazu | 2016-11-06 12:29:22 +0900 (Sun, 06 Nov 2016) | 1 line add a ticket number [ci skip] ------------------------------------------------------------------------ r56626 | svn | 2016-11-06 12:04:34 +0900 (Sun, 06 Nov 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56625 | shugo | 2016-11-06 12:04:33 +0900 (Sun, 06 Nov 2016) | 3 lines * test/rinda/test_rinda.rb (test_make_socket_ipv6_multicast, test_make_socket_ipv6_multicast_hops): skip if IPv6 multicast address is not available. ------------------------------------------------------------------------ r56624 | nobu | 2016-11-06 11:53:25 +0900 (Sun, 06 Nov 2016) | 3 lines irb.rb: Binding#irb * lib/irb.rb (Binding#irb): new method like Binding#pry. ------------------------------------------------------------------------ r56623 | shugo | 2016-11-06 11:50:51 +0900 (Sun, 06 Nov 2016) | 2 lines * test/net/smtp/test_smtp.rb (test_tls_connect, test_tls_connect): use Socket.tcp_server_sockets in case localhost is resolved to ::1. ------------------------------------------------------------------------ r56622 | nobu | 2016-11-06 11:49:49 +0900 (Sun, 06 Nov 2016) | 3 lines irb.rb: IRB::Irb#run * lib/irb.rb (IRB::Irb#run): split from IRB.start. ------------------------------------------------------------------------ r56621 | nobu | 2016-11-06 11:45:14 +0900 (Sun, 06 Nov 2016) | 4 lines e2mmap.rb: remove old definition * lib/e2mmap.rb (E2MM.def_exception): remove old definition if exists so that works multiple times. ------------------------------------------------------------------------ r56620 | shugo | 2016-11-06 10:20:44 +0900 (Sun, 06 Nov 2016) | 1 line Use Signal.signame instead of Signal.list. ------------------------------------------------------------------------ r56619 | shugo | 2016-11-06 10:06:45 +0900 (Sun, 06 Nov 2016) | 2 lines * test/ruby/test_optimization.rb (test_tailcall_interrupted_by_sigint): don't use sleep to run faster. ------------------------------------------------------------------------ r56618 | nobu | 2016-11-06 09:58:49 +0900 (Sun, 06 Nov 2016) | 4 lines process.c: PATH env in spawn * process.c (rb_exec_fillarg): honor the given path environment variable. [ruby-core:53103] [Bug #8004] ------------------------------------------------------------------------ r56617 | sho-h | 2016-11-06 09:10:49 +0900 (Sun, 06 Nov 2016) | 2 lines * doc/standard_library.rdoc: fix a typo [ci skip] ------------------------------------------------------------------------ r56616 | nobu | 2016-11-06 08:58:02 +0900 (Sun, 06 Nov 2016) | 4 lines shell.rb: suppress warnings * lib/shell.rb: initialize class instance variables and remove writer methods to be overwritten soon. ------------------------------------------------------------------------ r56615 | nobu | 2016-11-06 08:54:17 +0900 (Sun, 06 Nov 2016) | 4 lines e2mmap.rb: suppress a warning * lib/e2mmap.rb (bind): eval with the location. undefine predefined method before overwriting to suppress a warning. ------------------------------------------------------------------------ r56614 | svn | 2016-11-06 03:09:37 +0900 (Sun, 06 Nov 2016) | 1 line * properties. ------------------------------------------------------------------------ r56613 | svn | 2016-11-06 03:09:37 +0900 (Sun, 06 Nov 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56612 | naruse | 2016-11-06 03:09:36 +0900 (Sun, 06 Nov 2016) | 1 line Add ChangeLog-2015 as an anchor of new ChangeLog see #12283 ------------------------------------------------------------------------ r56611 | a_matsuda | 2016-11-06 01:56:52 +0900 (Sun, 06 Nov 2016) | 1 line Alias regist_scanner to register_scanner ------------------------------------------------------------------------ r56610 | shugo | 2016-11-06 01:42:27 +0900 (Sun, 06 Nov 2016) | 3 lines * compile.c (tailcallable_p): disable tail call optimization for toplevel, eval, and load to avoid SEGV when interrupted by SIGINT. [ruby-core:76327] [Bug #12576] ------------------------------------------------------------------------ r56609 | ko1 | 2016-11-06 01:31:25 +0900 (Sun, 06 Nov 2016) | 5 lines * vm_insnhelper.h: rename REG_(CFP|PC|SP|EP) to VM_REG_.... [Bug #12527] * vm_exec.c: ditto. ------------------------------------------------------------------------ r56608 | nobu | 2016-11-06 00:49:29 +0900 (Sun, 06 Nov 2016) | 3 lines dir.c: merge rb_glob2 into rb_glob * dir.c (rb_glob): merge rb_glob2 which is used only here. ------------------------------------------------------------------------ r56607 | akr | 2016-11-06 00:46:48 +0900 (Sun, 06 Nov 2016) | 7 lines Enumerator::Lazy#chunk_while defined. * enumerator.c (InitVM_Enumerator): Enumerator::Lazy#chunk_while defined. [Fix GH-1186] https://github.com/ruby/ruby/pull/1186 ------------------------------------------------------------------------ r56606 | nobu | 2016-11-06 00:45:42 +0900 (Sun, 06 Nov 2016) | 4 lines numeric.c: raise TypeError at wrong argument * numeric.c (int_pos_p, int_neg_p): raise TypeError if not an Integer instead of returning nil. ------------------------------------------------------------------------ r56605 | ktsj | 2016-11-06 00:30:55 +0900 (Sun, 06 Nov 2016) | 2 lines * vm_eval.c (vm_call0_cfunc_with_frame): pass method id to dtrace hook. follow up r56592. ------------------------------------------------------------------------ r56604 | akr | 2016-11-06 00:19:21 +0900 (Sun, 06 Nov 2016) | 7 lines fix Resolv::LOC::Coord.create. * lib/resolv.rb (Resolv::LOC::Coord.create): fixed. [ruby-core:72567] [Bug #11912] fixed by Eric Wong and Kazuhiro NISHIYAMA. ------------------------------------------------------------------------ r56603 | naruse | 2016-11-06 00:05:30 +0900 (Sun, 06 Nov 2016) | 3 lines * configure.in (-Wimplicit-fallthrough): gcc7 introduces case fall through warnings but it is too noisy. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=7652 ------------------------------------------------------------------------ r56602 | svn | 2016-11-06 00:02:18 +0900 (Sun, 06 Nov 2016) | 1 line * 2016-11-06 ------------------------------------------------------------------------ r56601 | shugo | 2016-11-06 00:02:17 +0900 (Sun, 06 Nov 2016) | 2 lines * numeric.c (rb_int_round): cast to SIGNED_VALUE to suppress warnings by -Wsign-compare. ------------------------------------------------------------------------ r56600 | naruse | 2016-11-06 00:00:37 +0900 (Sun, 06 Nov 2016) | 3 lines * file.c (rb_home_dir_of): convert given username into filesystem encoding. [ruby-core:76682] [Bug #12652] patched by Davis Mosans ------------------------------------------------------------------------ r56599 | akr | 2016-11-05 23:59:51 +0900 (Sat, 05 Nov 2016) | 6 lines fix vtm_add_offset yday on last day of year. * time.c (vtm_add_offset): Fix yday on last day of year. [ruby-core:72878] [Bug #11994] Fixed by Andrew White. ------------------------------------------------------------------------ r56598 | shugo | 2016-11-05 23:49:39 +0900 (Sat, 05 Nov 2016) | 1 line Add the ticket number. ------------------------------------------------------------------------ r56597 | shugo | 2016-11-05 23:39:06 +0900 (Sat, 05 Nov 2016) | 1 line * lib/net/http.rb (Net::HTTP.post): new convenience method to send a POST request. ------------------------------------------------------------------------ r56596 | naruse | 2016-11-05 23:08:16 +0900 (Sat, 05 Nov 2016) | 2 lines * lib/net/http.rb (transport_request): other than HTTPContinue in 1xx (HTTPInformation) also needs to continue. [Bug #12890] ------------------------------------------------------------------------ r56595 | akr | 2016-11-05 23:03:34 +0900 (Sat, 05 Nov 2016) | 8 lines Time.parse's "now" argument as nil works again. * lib/time.rb (make_time): "now" argument as nil works again. This is broken since Ruby 2.2. Mathieu Jobin pointed a problem. https://github.com/ruby/ruby/commit/e4b05d91eb0d48fd172abf015c493bb42d755d07#commitcomment-17421387 ------------------------------------------------------------------------ r56594 | knu | 2016-11-05 22:53:38 +0900 (Sat, 05 Nov 2016) | 9 lines IPAddr#== and IPAddr#<=> no longer raise an exception if coercion fails * lib/ipaddr.rb (IPAddr#==): If coercion fails, return false instead of passing through the exception. [ruby-core:77451] [Bug #12799] * lib/ipaddr.rb (IPAddr#<=>): If coercion fails, return nil instead of passing through the exception. [ruby-core:77451] [Bug #12799] ------------------------------------------------------------------------ r56593 | ktsj | 2016-11-05 22:15:27 +0900 (Sat, 05 Nov 2016) | 7 lines * vm_trace.c (tracepoint_attr_callee_id, rb_tracearg_callee_id): add TracePoint#callee_id. [ruby-core:77241] [Feature #12747] * cont.c, eval.c, gc.c, include/ruby/intern.h, insns.def, thread.c, vm.c, vm_backtrace.c, vm_core.h, vm_eval.c, vm_insnhelper.c, vm_trace.c: ditto. * test/ruby/test_settracefunc.rb: tests for above. ------------------------------------------------------------------------ r56592 | ktsj | 2016-11-05 22:15:26 +0900 (Sat, 05 Nov 2016) | 5 lines * eval.c, method.h, proc.c, vm.c, vm_eval.c, vm_insnhelper.c, vm_method.c: TracePoint#method_id should return method_id, not callee_id. [ruby-core:77241] [Feature #12747] * test/ruby/test_settracefunc.rb: change accordingly. ------------------------------------------------------------------------ r56591 | kazu | 2016-11-05 21:59:23 +0900 (Sat, 05 Nov 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r56590 | nobu | 2016-11-05 18:49:39 +0900 (Sat, 05 Nov 2016) | 6 lines numeric.c: round to nearest even * numeric.c (flo_round, int_round): support round-to-nearest-even semantics of IEEE 754 to match sprintf behavior, and add `half:` optional keyword argument for the old behavior. [ruby-core:76273] [Bug #12548] ------------------------------------------------------------------------ r56589 | knu | 2016-11-05 18:23:14 +0900 (Sat, 05 Nov 2016) | 4 lines Add Set#compare_by_identity and Set#compare_by_identity? * lib/set.rb (Set#compare_by_identity, Set#compare_by_identity?): New methods. [Feature #12210] ------------------------------------------------------------------------ r56588 | svn | 2016-11-05 18:18:11 +0900 (Sat, 05 Nov 2016) | 1 line * properties. ------------------------------------------------------------------------ r56587 | svn | 2016-11-05 18:18:11 +0900 (Sat, 05 Nov 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56586 | hsbt | 2016-11-05 18:18:10 +0900 (Sat, 05 Nov 2016) | 2 lines * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0 Release note: https://github.com/rdoc/rdoc/blob/b825775647f62c5b525e9780a28ff2fbb1d5bf6f/History.rdoc#500--2016-11-05 ------------------------------------------------------------------------ r56585 | naruse | 2016-11-05 17:59:43 +0900 (Sat, 05 Nov 2016) | 1 line Refix r56559 with Fs.noatime? [ruby-core:77943] [Bug #12903] ------------------------------------------------------------------------ r56584 | naruse | 2016-11-05 17:59:42 +0900 (Sat, 05 Nov 2016) | 1 line rename to noatime? ------------------------------------------------------------------------ r56583 | akr | 2016-11-05 17:33:03 +0900 (Sat, 05 Nov 2016) | 7 lines extract_resources uses each_resource instead of each_answer. * lib/resolv.rb (Resolv::DNS#extract_resources): Use each_resource instead of each_answer. [ruby-core:75461] [Bug#12372] reported by Rafael Fernandez Lopez. ------------------------------------------------------------------------ r56582 | naruse | 2016-11-05 17:23:57 +0900 (Sat, 05 Nov 2016) | 2 lines * ext/-test/file/fs.c (get_atime_p): Updating of file access times is enabled or not. ------------------------------------------------------------------------ r56581 | nobu | 2016-11-05 16:28:09 +0900 (Sat, 05 Nov 2016) | 4 lines chomp option * io.c (extract_getline_opts): extract chomp option. [Feature #12553] ------------------------------------------------------------------------ r56580 | sho-h | 2016-11-05 16:18:48 +0900 (Sat, 05 Nov 2016) | 3 lines * doc/standard_library.rdoc: remove "thread.rb" phrase because Queue and ConditionVariable were moved to built-in class. ------------------------------------------------------------------------ r56579 | nobu | 2016-11-05 16:14:19 +0900 (Sat, 05 Nov 2016) | 4 lines mkconfig.rb: trailing space * tool/mkconfig.rb: [DOC] remove trailing space from a generated line. ------------------------------------------------------------------------ r56578 | nobu | 2016-11-05 16:10:05 +0900 (Sat, 05 Nov 2016) | 4 lines openssl/ut_eof.rb: rename TestEOF * test/openssl/ut_eof.rb (OpenSSL::TestEOF): move TestEOF module under OpenSSL to get rid of conflict with test/ruby/ut_eof.rb. ------------------------------------------------------------------------ r56577 | sho-h | 2016-11-05 15:59:31 +0900 (Sat, 05 Nov 2016) | 2 lines * tool/mkconfig.rb: [DOC] add rbconfig documentation. ------------------------------------------------------------------------ r56576 | shugo | 2016-11-05 15:47:36 +0900 (Sat, 05 Nov 2016) | 7 lines * lib/net/smtp.rb (tlsconnect): support timeout for TLS handshake. [ruby-core:76893] [Bug #12678] * lib/net/protocol.rb (ssl_socket_connect): new method to implement timeout for TLS handshake. * lib/net/http.rb (connect): use Net::Protocol#ssl_socket_connect. ------------------------------------------------------------------------ r56575 | knu | 2016-11-05 14:40:51 +0900 (Sat, 05 Nov 2016) | 1 line Document the change in Shellwords.shellwords ------------------------------------------------------------------------ r56574 | nobu | 2016-11-05 14:17:22 +0900 (Sat, 05 Nov 2016) | 6 lines parse.y: fix restored cmdarg_stack * parse.y (brace_body, do_body): since cmdarg_stack is saved in VALUE val, should restore from the same member. on big-endian platforms where VALUE is larger than int, it restored 0 in the upper word. [ruby-core:77920] [Bug #12900] ------------------------------------------------------------------------ r56573 | knu | 2016-11-05 13:58:48 +0900 (Sat, 05 Nov 2016) | 5 lines Fix the handling of the backslash in double quotes * lib/shellwords.rb (Shellwords#shellsplit): Fix the handling of the backslash in double quotes to conform to the standard. [ruby-core:63807] [Bug #10055] ------------------------------------------------------------------------ r56572 | shugo | 2016-11-05 12:31:45 +0900 (Sat, 05 Nov 2016) | 1 line Add NEWS about r56213. ------------------------------------------------------------------------ r56571 | akr | 2016-11-05 12:29:08 +0900 (Sat, 05 Nov 2016) | 6 lines Pathname#empty? implemented. * ext/pathname/pathname.c (Pathname#empty?): New method. [ruby-core:76404] [Feature#12596] Proposed by John Backus. ------------------------------------------------------------------------ r56570 | naruse | 2016-11-05 12:13:16 +0900 (Sat, 05 Nov 2016) | 1 line Add NEWS about r56200 ------------------------------------------------------------------------ r56568 | shugo | 2016-11-05 11:57:40 +0900 (Sat, 05 Nov 2016) | 3 lines * test/ruby/test_refinement.rb (test_refine_alias_in_subclass): add a test to check that alias in subclasses can be refined. [ruby-core:69374] [Bug #11186] ------------------------------------------------------------------------ r56566 | akr | 2016-11-05 11:50:15 +0900 (Sat, 05 Nov 2016) | 2 lines [DOC] add explanation for Array#sum ------------------------------------------------------------------------ r56563 | nobu | 2016-11-05 11:39:09 +0900 (Sat, 05 Nov 2016) | 4 lines test_logger.rb: suppress a warning * test/logger/test_logger.rb (test_datetime_format): suppress warning when strftime called with empty format string. ------------------------------------------------------------------------ r56561 | shugo | 2016-11-05 11:23:09 +0900 (Sat, 05 Nov 2016) | 2 lines * cont.c (cont_new): disable optimization if clang's version is 3.8.0. [ruby-core:77894] [Bug #12893] ------------------------------------------------------------------------ r56560 | svn | 2016-11-05 10:07:20 +0900 (Sat, 05 Nov 2016) | 1 line * 2016-11-05 ------------------------------------------------------------------------ r56559 | nobu | 2016-11-05 10:07:19 +0900 (Sat, 05 Nov 2016) | 4 lines test_file.rb: fix noatime * test/ruby/test_file.rb (TestFile#test_stat): fix noatime case. [ruby-core:77943] [Bug #12903] ------------------------------------------------------------------------ r56558 | ko1 | 2016-11-04 17:54:46 +0900 (Fri, 04 Nov 2016) | 4 lines * gc.c (heap_page_resurrect): do not return tomb_pages when page->freelist == NULL. [Bug #12670] ------------------------------------------------------------------------ r56557 | nobu | 2016-11-04 16:31:47 +0900 (Fri, 04 Nov 2016) | 4 lines util.c: round to even * util.c (ruby_dtoa): round to even, instead of rounding to nearest. [ruby-core:77864] [Bug #12889] ------------------------------------------------------------------------ r56556 | naruse | 2016-11-04 15:37:09 +0900 (Fri, 04 Nov 2016) | 2 lines * configure.in: Add compiler version message into rbconfig as RbConfig::CONFIG['CC_VERSION_MESSAGE']. [Feature #12896] ------------------------------------------------------------------------ r56555 | mrkn | 2016-11-04 13:29:00 +0900 (Fri, 04 Nov 2016) | 1 line ChangeLog: cite issue on redmine ------------------------------------------------------------------------ r56554 | mrkn | 2016-11-04 13:05:07 +0900 (Fri, 04 Nov 2016) | 1 line numeric.c (rb_int_digits): Fix exception message ------------------------------------------------------------------------ r56553 | nobu | 2016-11-04 10:51:18 +0900 (Fri, 04 Nov 2016) | 4 lines pathname.c: unnormalized Fixnum value * ext/pathname/pathname.c (path_hash): fix unnormalized Fixnum value bug on mingw/mswin. ------------------------------------------------------------------------ r56552 | svn | 2016-11-04 10:35:49 +0900 (Fri, 04 Nov 2016) | 1 line * 2016-11-04 ------------------------------------------------------------------------ r56551 | nobu | 2016-11-04 10:35:49 +0900 (Fri, 04 Nov 2016) | 5 lines fileutils.rb: fix error for non-existent entry * lib/fileutils.rb (FileUtils::Entry_#copy): ensure that the source entry exists first, to fix error for non-existent entry. [ruby-core:77885] [Bug #12892] ------------------------------------------------------------------------ r56550 | mrkn | 2016-11-03 21:46:22 +0900 (Thu, 03 Nov 2016) | 1 line Import from ruby/bigdecimal repository ------------------------------------------------------------------------ r56549 | nobu | 2016-11-03 15:02:16 +0900 (Thu, 03 Nov 2016) | 4 lines file.c: include sys/sysmacros.h * file.c: include sys/sysmacros.h for ArchLinux which deprecated use of major() and minor() in sys/types.h. ------------------------------------------------------------------------ r56548 | svn | 2016-11-03 14:46:56 +0900 (Thu, 03 Nov 2016) | 1 line * 2016-11-03 ------------------------------------------------------------------------ r56547 | nobu | 2016-11-03 14:46:55 +0900 (Thu, 03 Nov 2016) | 4 lines file.c: use DEVT2NUM * file.c (rb_stat_dev_major, rb_stat_dev_minor): use DEVT2NUM as well as rdev_major and rdev_minor. ------------------------------------------------------------------------ r56546 | nobu | 2016-11-02 10:31:00 +0900 (Wed, 02 Nov 2016) | 4 lines assertions.rb: assert_all_assertions * test/lib/test/unit/assertions.rb (assert_all_assertions): prefix assert to be filtered out. ------------------------------------------------------------------------ r56545 | nobu | 2016-11-02 09:50:05 +0900 (Wed, 02 Nov 2016) | 5 lines extension.rdoc: update rb_ensure description * doc/extension.rdoc: set ANYARGS as arguments for func1 and func2. [ci skip] ------------------------------------------------------------------------ r56544 | nobu | 2016-11-02 08:45:50 +0900 (Wed, 02 Nov 2016) | 8 lines extension.rdoc: update rb_rescue description * doc/extension.rdoc: set ANYARGS as arguments for func1 and func2. * doc/extension.rdoc: mention the exception object which is passed to func2 as the second argument. [Fix GH-1471] [ci skip] ------------------------------------------------------------------------ r56543 | nobu | 2016-11-02 07:34:30 +0900 (Wed, 02 Nov 2016) | 4 lines numeric.c: bit op with non-integer * numeric.c (rb_num_coerce_bit): enable bit operations with coercing by non-integer object. [ruby-core:77783] [Bug #12875] ------------------------------------------------------------------------ r56542 | svn | 2016-11-02 00:47:55 +0900 (Wed, 02 Nov 2016) | 1 line * 2016-11-02 ------------------------------------------------------------------------ r56541 | kazu | 2016-11-02 00:47:55 +0900 (Wed, 02 Nov 2016) | 1 line fix some typos [ci skip] ------------------------------------------------------------------------ r56540 | nobu | 2016-11-01 22:10:16 +0900 (Tue, 01 Nov 2016) | 4 lines test_integer.rb: common parts * test/ruby/test_integer.rb (MimicInteger, CoercionToInt): extract common parts. ------------------------------------------------------------------------ r56539 | nobu | 2016-11-01 22:10:14 +0900 (Tue, 01 Nov 2016) | 4 lines numeric.c: use rb_num_coerce_bit * numeric.c (int_and, int_or, int_xor): use rb_num_coerce_bit to reduce repeated code. ------------------------------------------------------------------------ r56538 | nobu | 2016-11-01 21:35:32 +0900 (Tue, 01 Nov 2016) | 4 lines numeric.c: fix return value on big 0 * numeric.c (num_zero_p): should return true if zero. rb_bigzero_p returns 1 or 0. ------------------------------------------------------------------------ r56537 | nobu | 2016-11-01 21:35:31 +0900 (Tue, 01 Nov 2016) | 3 lines numeric.c: adjust indent [ci skip] * numeric.c (rb_num2ulong_internal): adjust indent. ------------------------------------------------------------------------ r56536 | nobu | 2016-11-01 21:35:30 +0900 (Tue, 01 Nov 2016) | 4 lines numeric.c: fix typos [ci skip] * numeric.c (rb_num2ulong_internal, rb_num2ull): fix typos in comments. ------------------------------------------------------------------------ r56535 | nobu | 2016-11-01 16:51:55 +0900 (Tue, 01 Nov 2016) | 5 lines bignum.c: use RB_INTEGER_TYPE_P * bignum.c (rb_big_and, rb_big_or, rb_big_xor): use dedicated macro RB_INTEGER_TYPE_P instead of combination of FIXNUM_P and RB_BIGNUM_TYPE_P. ------------------------------------------------------------------------ r56534 | nobu | 2016-11-01 01:31:12 +0900 (Tue, 01 Nov 2016) | 4 lines configure.in: no round in x64-mingw * configure.in (ac_cv_func_round): round(3) in x86_64-w64-mingw32 is not accurate in an edge case. [ruby-core:77794] [Bug #12878] ------------------------------------------------------------------------ r56533 | nobu | 2016-11-01 01:01:30 +0900 (Tue, 01 Nov 2016) | 4 lines dir.c: suppress a warning * dir.c (to_be_ignored): remove duplicate inline modifier, and suppress a warning by VC. ------------------------------------------------------------------------ r56532 | svn | 2016-11-01 00:17:28 +0900 (Tue, 01 Nov 2016) | 1 line * 2016-11-01 ------------------------------------------------------------------------ r56531 | kazu | 2016-11-01 00:17:26 +0900 (Tue, 01 Nov 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r56530 | shyouhei | 2016-10-31 17:43:54 +0900 (Mon, 31 Oct 2016) | 2 lines * test/test_forwardable.rb (TestForwardable#test_on_private_method): add test for [Bug #12782] [Bug #12840] ------------------------------------------------------------------------ r56529 | svn | 2016-10-31 11:08:55 +0900 (Mon, 31 Oct 2016) | 1 line * 2016-10-31 ------------------------------------------------------------------------ r56528 | nobu | 2016-10-31 11:08:54 +0900 (Mon, 31 Oct 2016) | 4 lines uri/generic.rb: Tidy up merge * lib/uri/generic.rb (URI::Generic#merge): merge merge0. [GH-1469] ------------------------------------------------------------------------ r56527 | nobu | 2016-10-30 21:08:00 +0900 (Sun, 30 Oct 2016) | 3 lines fix typo [ci skip] * lib/rubygems/specification.rb: reapply 56225. ------------------------------------------------------------------------ r56526 | kazu | 2016-10-30 20:57:41 +0900 (Sun, 30 Oct 2016) | 1 line Add config for *.yml [ci skip] ------------------------------------------------------------------------ r56525 | hsbt | 2016-10-30 15:32:48 +0900 (Sun, 30 Oct 2016) | 3 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems to 2.6.8. Release note of 2.6.8: https://github.com/rubygems/rubygems/commit/9fb8880976f5ab998912898b091d88aa10eb1d4a ------------------------------------------------------------------------ r56524 | svn | 2016-10-30 06:39:38 +0900 (Sun, 30 Oct 2016) | 1 line * 2016-10-30 ------------------------------------------------------------------------ r56523 | duerst | 2016-10-30 06:39:37 +0900 (Sun, 30 Oct 2016) | 3 lines * enc/windows_1254.c: Fix typo. Reported by k-takata at https://github.com/k-takata/Onigmo/commit/ceb59cc. Thanks! ------------------------------------------------------------------------ r56522 | nobu | 2016-10-29 19:59:39 +0900 (Sat, 29 Oct 2016) | 4 lines parse.y: !-operator warning * parse.y (cond0): !-operator is a method call, no warning for literal in condition. [ruby-core:77801] [Bug #12881] ------------------------------------------------------------------------ r56521 | nobu | 2016-10-29 10:09:40 +0900 (Sat, 29 Oct 2016) | 4 lines compile.c: not flip-flop * compile.c (iseq_compile_each): turn flip-flop in a not-operator into a boolean value. fix up r56315 ------------------------------------------------------------------------ r56520 | nobu | 2016-10-29 09:39:16 +0900 (Sat, 29 Oct 2016) | 4 lines vm_eval.c: follow the original class * vm_eval.c (vm_call0_body): follow the original class, not to loop the prepended module. [ruby-core:77784] [Bug #12876] ------------------------------------------------------------------------ r56519 | kazu | 2016-10-29 00:50:14 +0900 (Sat, 29 Oct 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r56518 | svn | 2016-10-29 00:28:55 +0900 (Sat, 29 Oct 2016) | 1 line * 2016-10-29 ------------------------------------------------------------------------ r56517 | nobu | 2016-10-29 00:28:54 +0900 (Sat, 29 Oct 2016) | 4 lines test/unit.rb: no file name if idle [ci skip] * test/lib/test/unit.rb (Test::Unit::Parallel::Worker#to_s): show file name if not idling. ------------------------------------------------------------------------ r56516 | nobu | 2016-10-29 00:14:32 +0900 (Sat, 29 Oct 2016) | 4 lines Update windows-1255 table * enc/trans/windows-1255-tbl.rb: update mapping from 0xCA to U+05BA. [Feature #12877] ------------------------------------------------------------------------ r56515 | nobu | 2016-10-28 23:25:57 +0900 (Fri, 28 Oct 2016) | 3 lines enc/depend: downcase * enc/depend: downcase table file names. ------------------------------------------------------------------------ r56514 | nobu | 2016-10-28 23:22:34 +0900 (Fri, 28 Oct 2016) | 4 lines enc/depend: extract transcode_tblgen * enc/depend: extract transcode_tblgen method calls for libraries loaded by dynamically generated names, in single_byte.trans. ------------------------------------------------------------------------ r56513 | nobu | 2016-10-28 23:18:52 +0900 (Fri, 28 Oct 2016) | 4 lines single_byte.trans: dead code * enc/trans/single_byte.trans (transcode_tblgen_singlebyte): remove useless code. returned value is not used. ------------------------------------------------------------------------ r56512 | nobu | 2016-10-28 23:18:50 +0900 (Fri, 28 Oct 2016) | 4 lines transcode-tblgen.rb: dup literal string * tool/transcode-tblgen.rb: get rid of modifying frozen literal string. ------------------------------------------------------------------------ r56511 | nobu | 2016-10-28 16:05:05 +0900 (Fri, 28 Oct 2016) | 4 lines insns.def: opt_case_dispatch trivial optimization * insns.def (opt_case_dispatch): extract float value only if the Float method is not redefnined. ------------------------------------------------------------------------ r56510 | nobu | 2016-10-28 15:58:19 +0900 (Fri, 28 Oct 2016) | 4 lines internal.h: RB_OBJ_BUILTIN_TYPE * internal.h (RB_OBJ_BUILTIN_TYPE): special-const safe BUILTIN_TYPE. ------------------------------------------------------------------------ r56509 | nobu | 2016-10-28 15:20:19 +0900 (Fri, 28 Oct 2016) | 4 lines complex.c: static IDs * complex.c (id_finite_p, id_infinite_p, id_rationalize, id_PI): initialize static IDs. ------------------------------------------------------------------------ r56508 | svn | 2016-10-28 15:19:01 +0900 (Fri, 28 Oct 2016) | 1 line * 2016-10-28 ------------------------------------------------------------------------ r56507 | nobu | 2016-10-28 15:19:00 +0900 (Fri, 28 Oct 2016) | 5 lines complex.c: FINITE_TYPE_P * complex.c (FINITE_TYPE_P): extract predicate. * complex.c (rb_complex_finite_p, rb_complex_infinite_p): use dedicated predicates instead of switch by TYPE. ------------------------------------------------------------------------ r56506 | nobu | 2016-10-27 23:28:14 +0900 (Thu, 27 Oct 2016) | 4 lines ruby/ruby.h: optimize rb_integer_type_p * include/ruby/ruby.h (rb_integer_type_p): turn into macro to help clang based on old gcc to eliminate CSE. ------------------------------------------------------------------------ r56502 | usa | 2016-10-27 16:34:32 +0900 (Thu, 27 Oct 2016) | 3 lines * tool/redmine-backporter.rb (rel): check the exception and show right message. ------------------------------------------------------------------------ r56500 | nobu | 2016-10-27 15:26:09 +0900 (Thu, 27 Oct 2016) | 1 line test/digest/test_digest.rb: fold long lines ------------------------------------------------------------------------ r56499 | rhe | 2016-10-27 14:58:35 +0900 (Thu, 27 Oct 2016) | 7 lines socket: fix rdoc of UDPSocket#recvfrom_nonblock * ext/socket/lib/socket.rb (UDPSocket#recvfrom_nonblock): [DOC] Remove a false statement "If _maxlen_ is omitted, its default value is 65536." maxlen, the first parameter, cannot be omitted as the method signature indicates. This hasn't changed ever since it was first implemented. ------------------------------------------------------------------------ r56498 | kazu | 2016-10-27 09:45:46 +0900 (Thu, 27 Oct 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r56497 | nobu | 2016-10-27 09:42:11 +0900 (Thu, 27 Oct 2016) | 5 lines object.c: fixable float to fixnum * object.c (rb_convert_to_integer): convert a fixable float to a fixnum directly without the convesion method, as well as bignum case. ------------------------------------------------------------------------ r56496 | svn | 2016-10-27 09:12:34 +0900 (Thu, 27 Oct 2016) | 1 line * 2016-10-27 ------------------------------------------------------------------------ r56495 | nobu | 2016-10-27 09:12:33 +0900 (Thu, 27 Oct 2016) | 4 lines object.c: use converted string * object.c (rb_convert_to_integer): should not drop the converted string. ------------------------------------------------------------------------ r56494 | kazu | 2016-10-26 21:26:51 +0900 (Wed, 26 Oct 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r56493 | nobu | 2016-10-26 17:10:00 +0900 (Wed, 26 Oct 2016) | 4 lines ruby.h: use prefixed macro * include/ruby/ruby.h (rb_intern): use prefixed version macro RUBY_CONST_ID_CACHE. ------------------------------------------------------------------------ r56492 | nobu | 2016-10-26 15:11:23 +0900 (Wed, 26 Oct 2016) | 3 lines [DOC] replace Fixnum with Integer [ci skip] * numeric.c: [DOC] update document for Integer class. ------------------------------------------------------------------------ r56491 | svn | 2016-10-26 11:34:07 +0900 (Wed, 26 Oct 2016) | 1 line * 2016-10-26 ------------------------------------------------------------------------ r56490 | shyouhei | 2016-10-26 11:34:06 +0900 (Wed, 26 Oct 2016) | 2 lines * NEWS: added several entries [ci skip] ------------------------------------------------------------------------ r56489 | nobu | 2016-10-25 12:54:09 +0900 (Tue, 25 Oct 2016) | 4 lines proc.c: follow the original class * proc.c (mnew_internal): follow the original class, not to loop the prepended module. [ruby-core:77591] [Bug #12832] ------------------------------------------------------------------------ r56488 | akr | 2016-10-25 12:48:23 +0900 (Tue, 25 Oct 2016) | 2 lines [DOC] table format refined. ------------------------------------------------------------------------ r56487 | svn | 2016-10-25 12:32:01 +0900 (Tue, 25 Oct 2016) | 1 line * 2016-10-25 ------------------------------------------------------------------------ r56486 | akr | 2016-10-25 12:32:00 +0900 (Tue, 25 Oct 2016) | 2 lines [DOC] add description of j and J for unpack. ------------------------------------------------------------------------ r56485 | nobu | 2016-10-24 12:46:51 +0900 (Mon, 24 Oct 2016) | 5 lines test_thread.rb: count accurately * test/ruby/test_thread.rb (test_thread_timer_and_interrupt): count only signal handling time accurately without setup and cleanup time. ------------------------------------------------------------------------ r56484 | nobu | 2016-10-24 10:52:19 +0900 (Mon, 24 Oct 2016) | 4 lines test/unit.rb: show idling workers * test/lib/test/unit.rb (Test::Unit::Parallel#deal): update the job status after a task finished, to show idling workers. ------------------------------------------------------------------------ r56483 | nobu | 2016-10-24 10:51:10 +0900 (Mon, 24 Oct 2016) | 5 lines complex.c: undefine Comparable methods * complex.c (Init_Complex): undefine methods inherited from Comparable, because Complex does not have <=> method. [Bug #12866] ------------------------------------------------------------------------ r56482 | nobu | 2016-10-24 10:49:52 +0900 (Mon, 24 Oct 2016) | 4 lines class.c: rb_undef_methods_from * class.c (rb_undef_methods_from): undefine methods defined in super from klass. ------------------------------------------------------------------------ r56481 | nobu | 2016-10-24 10:34:06 +0900 (Mon, 24 Oct 2016) | 4 lines refine assertions * test/ruby/test_complex.rb, test/ruby/test_rational.rb: refine assertions for descriptive messages. ------------------------------------------------------------------------ r56480 | svn | 2016-10-24 10:19:47 +0900 (Mon, 24 Oct 2016) | 1 line * 2016-10-24 ------------------------------------------------------------------------ r56479 | nobu | 2016-10-24 10:19:46 +0900 (Mon, 24 Oct 2016) | 6 lines complex.c: undefine clamp * complex.c (Init_Complex): undefine Complex#clamp, which does not work like other Comparable methods, because Complex does not have <=> method. patched by Tim Peters <zomg.tim AT gmail.com> in [ruby-core:77720]. [Bug #12866] ------------------------------------------------------------------------ r56478 | nobu | 2016-10-23 11:41:43 +0900 (Sun, 23 Oct 2016) | 4 lines encoding.h: include ruby/ruby.h * include/ruby/encoding.h: include "ruby/ruby.h" explicitly for enum ruby_fl_type and VALUE. ------------------------------------------------------------------------ r56477 | svn | 2016-10-23 11:03:57 +0900 (Sun, 23 Oct 2016) | 1 line * 2016-10-23 ------------------------------------------------------------------------ r56476 | nobu | 2016-10-23 11:03:56 +0900 (Sun, 23 Oct 2016) | 4 lines test_refinement.rb: Symbol#to_proc test * test/ruby/test_refinement.rb (test_symbol_proc): a Symbol is converted to a Proc in the caller's context. [Feature #9451] ------------------------------------------------------------------------ r56475 | nobu | 2016-10-22 23:33:58 +0900 (Sat, 22 Oct 2016) | 4 lines parse.y: append to buffer * parse.y (reg_compile_gen): always append error message to the error buffer. ------------------------------------------------------------------------ r56474 | nobu | 2016-10-22 22:33:34 +0900 (Sat, 22 Oct 2016) | 4 lines numeric.c: fix up r55891 * numeric.c (num_funcall1): check recursion by inverse pair, to fix fake infinite recursion. [ruby-core:77713] [Bug #12864] ------------------------------------------------------------------------ r56473 | nobu | 2016-10-22 18:52:35 +0900 (Sat, 22 Oct 2016) | 4 lines hash.c: fix Hash#compact! return value * hash.c (rb_hash_compact_bang): should return nil if no elements is deleted. [ruby-core:77709] [Bug #12863] ------------------------------------------------------------------------ r56472 | nobu | 2016-10-22 10:28:30 +0900 (Sat, 22 Oct 2016) | 5 lines configure.in: fallback DLDFLAGS to LDFLAGS * configure.in (DLDFLAGS): fallback to LDFLAGS. [ruby-core:72444] [Bug #11863] * configure.in (LIBRUBY_DLDFLAGS): fallback to DLDFLAGS. ------------------------------------------------------------------------ r56471 | nobu | 2016-10-22 10:27:04 +0900 (Sat, 22 Oct 2016) | 5 lines configure.in: fix RUBY_{APPEND/PREPEND}_OPTION * configure.in (RUBY_APPEND_OPTION, RUBY_PREPEND_OPTION): expand the option to be appended/prepended when matching, as well as RUBY_APPEND_OPTIONS and RUBY_PREPEND_OPTIONS. ------------------------------------------------------------------------ r56470 | svn | 2016-10-22 09:53:00 +0900 (Sat, 22 Oct 2016) | 1 line * 2016-10-22 ------------------------------------------------------------------------ r56469 | nobu | 2016-10-22 09:52:59 +0900 (Sat, 22 Oct 2016) | 5 lines compile.c: order with splatting * compile.c (setup_args): duplicate splatting array if more arguments present to obey left-to-right execution order. [ruby-core:77701] [Bug# 12860] ------------------------------------------------------------------------ r56468 | nobu | 2016-10-21 16:55:09 +0900 (Fri, 21 Oct 2016) | 4 lines fix r56467 * test/ruby/test_dir.rb (test_glob_gc_for_fd): needs RLIMIT_NOFILE. ------------------------------------------------------------------------ r56467 | nobu | 2016-10-21 16:44:46 +0900 (Fri, 21 Oct 2016) | 4 lines dir.c: retry glob with GC * dir.c (do_opendir): retry after GC when the limit for open file descriptors reached. ------------------------------------------------------------------------ r56466 | nobu | 2016-10-21 16:40:50 +0900 (Fri, 21 Oct 2016) | 4 lines dir.c: use rb_gc_for_fd * dir.c (rb_dir_s_empty_p): use rb_gc_for_fd for the condition to invoke GC by errno. ------------------------------------------------------------------------ r56465 | nobu | 2016-10-21 16:40:48 +0900 (Fri, 21 Oct 2016) | 4 lines dir.c: inline to_be_ignored * dir.c (to_be_ignored): make an inline function to get rid of multiple errno function calls. ------------------------------------------------------------------------ r56464 | nobu | 2016-10-21 16:40:47 +0900 (Fri, 21 Oct 2016) | 6 lines prefer rb_syserr_fail * dir.c (dir_initialize, dir_read): prefer rb_syserr_fail over rb_sys_fail. * io.c (ruby_dup, rb_sysopen): ditto. ------------------------------------------------------------------------ r56463 | nobu | 2016-10-21 16:06:27 +0900 (Fri, 21 Oct 2016) | 4 lines ruby.c: retry loading with GC * ruby.c (open_load_file): retry after GC when the limit for open file descriptors reached. ------------------------------------------------------------------------ r56462 | nobu | 2016-10-21 11:38:04 +0900 (Fri, 21 Oct 2016) | 4 lines test_require.rb: reduce GC * test/ruby/test_require.rb (test_loading_fifo_fd_leak): invoke GC only when FDs exhausted to reduce the test time. ------------------------------------------------------------------------ r56461 | svn | 2016-10-21 11:34:21 +0900 (Fri, 21 Oct 2016) | 1 line * 2016-10-21 ------------------------------------------------------------------------ r56460 | nobu | 2016-10-21 11:34:19 +0900 (Fri, 21 Oct 2016) | 4 lines Fixed typo [ci skip] * string.c (rb_str_sub, rb_str_gsub): [DOC] 'backlash' should read 'backslash'. [Fix GH-1461] ------------------------------------------------------------------------ r56459 | kazu | 2016-10-20 22:18:52 +0900 (Thu, 20 Oct 2016) | 1 line fix hexdigest [ci skip] ------------------------------------------------------------------------ r56458 | hsbt | 2016-10-20 17:03:01 +0900 (Thu, 20 Oct 2016) | 2 lines * lib/uri/common.rb: added documentation for deprecated method. [Misc #11960][ruby-core:72733][ci skip] ------------------------------------------------------------------------ r56457 | nobu | 2016-10-20 16:59:44 +0900 (Thu, 20 Oct 2016) | 9 lines test_proc.rb: improve curry tests * test/ruby/test_proc.rb (test_curry): split. * test/ruby/test_proc.rb (test_curry_passed_block): simplify the assertion. * test/ruby/test_proc.rb (test_curry_with_trace): run all curry tests. ------------------------------------------------------------------------ r56456 | svn | 2016-10-20 16:57:31 +0900 (Thu, 20 Oct 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56455 | hsbt | 2016-10-20 16:57:30 +0900 (Thu, 20 Oct 2016) | 9 lines * ext/digest/digest.c: Add documentation for Digest. [Feature #10452][ruby-core:66001][ci skip] * remove HMAC from list of digest algorithms, * add MD5 in list of digest algorithms, * add information about writing a C digest implementation using Digest::Base, * add documentation for Digest::Base public methods. * ext/digest/md5/md5init.c: add examples for MD5. * ext/digest/rmd160/rmd160init.c: add examples for Digest::RMD160. * ext/digest/sha1/sha1init.c: add examples for Digest::SHA1. ------------------------------------------------------------------------ r56454 | hsbt | 2016-10-20 16:19:58 +0900 (Thu, 20 Oct 2016) | 2 lines * lib/open-uri.rb: Improved documentation grammar for open-uri#open option. [Misc #11329][ruby-core:69868][ci skip] ------------------------------------------------------------------------ r56453 | svn | 2016-10-20 07:44:49 +0900 (Thu, 20 Oct 2016) | 1 line * 2016-10-20 ------------------------------------------------------------------------ r56452 | nobu | 2016-10-20 07:44:49 +0900 (Thu, 20 Oct 2016) | 3 lines Fix typos [ci skip] * NEWS: fix typos "Refinments" as "Refinements". ------------------------------------------------------------------------ r56451 | kazu | 2016-10-19 21:49:40 +0900 (Wed, 19 Oct 2016) | 1 line NEWS mention refinements with Kernel#send and BasicObject#__send__. [Feature #11476] ------------------------------------------------------------------------ r56450 | nobu | 2016-10-19 17:02:17 +0900 (Wed, 19 Oct 2016) | 4 lines vm_insnhelper.c: refinements with send * vm_insnhelper.c (vm_call_opt_send): enable refinements with Kernel#send and BasicObject#__send__. [Feature #11476] ------------------------------------------------------------------------ r56449 | nobu | 2016-10-19 14:22:51 +0900 (Wed, 19 Oct 2016) | 4 lines basictest: --run-opt option * basictest/runner.rb: do not clobber the option by --run-opt with RUBYOPT. reported by Allen Hewes <rallenh AT hotmail.com>. ------------------------------------------------------------------------ r56448 | kazu | 2016-10-19 00:40:31 +0900 (Wed, 19 Oct 2016) | 1 line Update comments in prelude.c [ci skip] ------------------------------------------------------------------------ r56447 | svn | 2016-10-19 00:09:09 +0900 (Wed, 19 Oct 2016) | 1 line * 2016-10-19 ------------------------------------------------------------------------ r56446 | nobu | 2016-10-19 00:09:08 +0900 (Wed, 19 Oct 2016) | 4 lines addr2line.c: boundary checks * addr2line.c (parse_debug_line_cu): boundary checks for compressed debug sections. [ruby-dev:49840] [Bug #12850] ------------------------------------------------------------------------ r56445 | nobu | 2016-10-18 16:36:42 +0900 (Tue, 18 Oct 2016) | 5 lines configure.in: compress debug sections * configure.in (DLDFLAGS): append --compress-debug-sections=zlib if available, which reduces the size of LIBRUBY_SO by half or more. ------------------------------------------------------------------------ r56444 | nobu | 2016-10-18 15:55:15 +0900 (Tue, 18 Oct 2016) | 4 lines separated_version.mk: option for linux [ci skip] * defs/separated_version.mk (RUBY_VERSION_DLDFLAGS): move linux specific option. ------------------------------------------------------------------------ r56443 | svn | 2016-10-18 15:35:39 +0900 (Tue, 18 Oct 2016) | 1 line * 2016-10-18 ------------------------------------------------------------------------ r56442 | nobu | 2016-10-18 15:35:38 +0900 (Tue, 18 Oct 2016) | 3 lines separated_version.mk [ci skip] * defs/separated_version.mk: FOR DEVELEPERS ONLY. ------------------------------------------------------------------------ r56436 | nobu | 2016-10-17 16:20:39 +0900 (Mon, 17 Oct 2016) | 4 lines install-static-library option [ci skip] * win32/configure.bat: add option to enable/disable to install static ruby library. defaulted to "no". [Feature #12845] ------------------------------------------------------------------------ r56435 | svn | 2016-10-17 16:17:08 +0900 (Mon, 17 Oct 2016) | 1 line * 2016-10-17 ------------------------------------------------------------------------ r56434 | nobu | 2016-10-17 16:17:07 +0900 (Mon, 17 Oct 2016) | 6 lines install-static-library option [ci skip] * configure.in (install-static-library): add option to enable/ disable to install static ruby library. defaulted to "no" if enable-shared. [Feature #12845] * tool/rbinstall.rb (local-arch-lib): respect the option. ------------------------------------------------------------------------ r56433 | duerst | 2016-10-16 15:09:08 +0900 (Sun, 16 Oct 2016) | 3 lines * enc/windows_1254.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for Windows-1254. ------------------------------------------------------------------------ r56432 | nobu | 2016-10-16 08:34:27 +0900 (Sun, 16 Oct 2016) | 4 lines test_io.rb: use assert_not_predicate * test/ruby/test_io.rb (test_DATA_binmode): assert_not_predicate for more descriptive message. ------------------------------------------------------------------------ r56431 | nobu | 2016-10-16 07:59:39 +0900 (Sun, 16 Oct 2016) | 4 lines test_refinement.rb: test_symbol_proc * test/ruby/test_refinement.rb (test_symbol_proc): move from test_symbol.rb [Feature #9451] ------------------------------------------------------------------------ r56430 | nobu | 2016-10-16 07:59:38 +0900 (Sun, 16 Oct 2016) | 4 lines test_refinement.rb: using without eval * test/ruby/test_refinement.rb (FooExtClient, FooExtClient2): no needs to eval, using works in a class block now. ------------------------------------------------------------------------ r56429 | svn | 2016-10-16 00:45:05 +0900 (Sun, 16 Oct 2016) | 1 line * 2016-10-16 ------------------------------------------------------------------------ r56428 | kazu | 2016-10-16 00:45:04 +0900 (Sun, 16 Oct 2016) | 1 line Add test of DATA.binmode? ------------------------------------------------------------------------ r56427 | nobu | 2016-10-15 18:05:58 +0900 (Sat, 15 Oct 2016) | 4 lines vm_args.c: cache procs * vm_args.c (vm_caller_setup_arg_block): cache proc with refinements. [Feature #9451] ------------------------------------------------------------------------ r56426 | nobu | 2016-10-15 14:17:07 +0900 (Sat, 15 Oct 2016) | 6 lines vm_args.c: allow refinements in Symbol proc * vm_args.c (refine_sym_proc_call): search and call method with refinements. * vm_args.c (vm_caller_setup_arg_block): enable refinements when enabled in the caller. [Feature #9451] ------------------------------------------------------------------------ r56425 | svn | 2016-10-15 00:54:04 +0900 (Sat, 15 Oct 2016) | 1 line * 2016-10-15 ------------------------------------------------------------------------ r56424 | nobu | 2016-10-15 00:54:03 +0900 (Sat, 15 Oct 2016) | 4 lines process.c: use uaspawn * process.c (proc_exec_cmd): use UTF-8 version aspawn. [ruby-dev:49838] [Bug #12841] ------------------------------------------------------------------------ r56423 | nobu | 2016-10-14 22:26:13 +0900 (Fri, 14 Oct 2016) | 5 lines optparse/kwargs.rb * lib/optparse/kwargs.rb (OptionParser#define_by_keywords): [EXPERIMENTAL] extract command line option definitions from the information of keyword arguments. ------------------------------------------------------------------------ r56422 | hsbt | 2016-10-14 18:28:27 +0900 (Fri, 14 Oct 2016) | 1 line * Fix wrong class name. ------------------------------------------------------------------------ r56421 | hsbt | 2016-10-14 18:27:23 +0900 (Fri, 14 Oct 2016) | 2 lines * object.c: Improve documentation for Integer conversion. [ruby-core:71661][Bug #11736][ci skip] ------------------------------------------------------------------------ r56420 | hsbt | 2016-10-14 18:01:01 +0900 (Fri, 14 Oct 2016) | 2 lines * lib/logger.rb: Improve Logger.new option documentation. [Feature #12803][ruby-core:77467] ------------------------------------------------------------------------ r56419 | nobu | 2016-10-14 17:20:26 +0900 (Fri, 14 Oct 2016) | 4 lines optparse.rb: hyphenize * lib/optparse.rb (make_switch, parse_in_order): unify underscores to hyphens. ------------------------------------------------------------------------ r56418 | svn | 2016-10-14 10:48:53 +0900 (Fri, 14 Oct 2016) | 1 line * 2016-10-14 ------------------------------------------------------------------------ r56417 | normal | 2016-10-14 10:48:52 +0900 (Fri, 14 Oct 2016) | 7 lines webrick: use monotonic clock for timeouts The monotonic clock is immune to system time changes and a better option for implementing timing comparisons. * lib/webrick/utils.rb (TimeoutHandler): use monotonic clock (watch): ditto ------------------------------------------------------------------------ r56416 | nobu | 2016-10-13 19:41:34 +0900 (Thu, 13 Oct 2016) | 4 lines io.c: copy_stream to duplex IO * io.c (copy_stream_body): use IO to write to copy to duplex IO. http://twitter.com/knu/status/786505317974585344 ------------------------------------------------------------------------ r56415 | nobu | 2016-10-13 17:15:43 +0900 (Thu, 13 Oct 2016) | 3 lines NEWS: [Feature #11818] [ci skip] * NEWS: add Hash#compact and Hash#compact!. [Feature #11818] ------------------------------------------------------------------------ r56414 | nobu | 2016-10-13 17:06:00 +0900 (Thu, 13 Oct 2016) | 5 lines hash.c: add compact and compact! methods * hash.c (rb_hash_compact, rb_hash_compact_bang): Removes nil values from the original hash, to port Active Support behavior. [Feature #11818] ------------------------------------------------------------------------ r56413 | nobu | 2016-10-13 11:35:34 +0900 (Thu, 13 Oct 2016) | 5 lines unstable sort [ci skip] * array.c (rb_ary_sort_bang, rb_ary_sort, rb_ary_sort_by_bang): [DOC] describe that sort may not be stable. * enum.c (enum_sort, enum_sort_by): ditto. ------------------------------------------------------------------------ r56412 | nobu | 2016-10-13 11:31:43 +0900 (Thu, 13 Oct 2016) | 5 lines Fix tests depending on sort stability * test/rexml/xpath/test_text.rb (test_ancestors): Array#sort may not be stable. [ruby-core:76088] [Bug #12509] * test/rss/test_maker_{0.9,1.0,2.0}.rb (test_items): ditto. ------------------------------------------------------------------------ r56411 | normal | 2016-10-13 10:40:21 +0900 (Thu, 13 Oct 2016) | 1 line doc/extension.rdoc: wording fix w.r.t. volatile vs RB_GC_GUARD ------------------------------------------------------------------------ r56410 | nobu | 2016-10-13 00:39:10 +0900 (Thu, 13 Oct 2016) | 6 lines test_array.rb: do not assume stable sort * test/ruby/test_array.rb (test_sort_bang_with_freeze): make a clone to copy a <=> singleton method, instead of dup. which element will be called is not predictable. [ruby-core:76088] [Bug #12509] ------------------------------------------------------------------------ r56409 | nobu | 2016-10-13 00:29:06 +0900 (Thu, 13 Oct 2016) | 4 lines better assertion * test/rexml/xpath/test_text.rb (test_ancestors): use assert_kind_of for better assertion message. ------------------------------------------------------------------------ r56408 | kazu | 2016-10-13 00:28:07 +0900 (Thu, 13 Oct 2016) | 1 line Fix similar typos [ci skip] ------------------------------------------------------------------------ r56407 | kazu | 2016-10-13 00:28:06 +0900 (Thu, 13 Oct 2016) | 3 lines Fix typo [ci skip] Replace "You can defined hooked variables" with "You can define hooked variables" ------------------------------------------------------------------------ r56406 | kazu | 2016-10-13 00:28:05 +0900 (Thu, 13 Oct 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r56405 | kazu | 2016-10-13 00:28:03 +0900 (Thu, 13 Oct 2016) | 1 line fix warning: assigned but unused variable ------------------------------------------------------------------------ r56404 | svn | 2016-10-13 00:28:02 +0900 (Thu, 13 Oct 2016) | 1 line * 2016-10-13 ------------------------------------------------------------------------ r56403 | kazu | 2016-10-13 00:28:01 +0900 (Thu, 13 Oct 2016) | 1 line do not need to downcase twice ------------------------------------------------------------------------ r56401 | usa | 2016-10-12 21:07:16 +0900 (Wed, 12 Oct 2016) | 3 lines * ruby.c (open_load_file): revert r56385. it introduced incompatibility about `DATA.binmode?`. ------------------------------------------------------------------------ r56400 | nobu | 2016-10-12 17:24:36 +0900 (Wed, 12 Oct 2016) | 4 lines ruby.c: fix macros * ruby.c (open_load_file): FILE_ALT_SEPARATOR and EXEEXT are config.status variables, not available in config.h. ------------------------------------------------------------------------ r56399 | hsbt | 2016-10-12 15:24:59 +0900 (Wed, 12 Oct 2016) | 3 lines * tool/downloader.rb: Removed verification of gem certification. Because signed gem is not working on rubygems ecosystem. * tool/gem-unpack.rb: ditto. ------------------------------------------------------------------------ r56398 | akr | 2016-10-12 02:23:29 +0900 (Wed, 12 Oct 2016) | 2 lines Test URI.find_proxy using env argument. ------------------------------------------------------------------------ r56397 | akr | 2016-10-12 01:42:05 +0900 (Wed, 12 Oct 2016) | 2 lines forgot to replace two occurences of ENV. ------------------------------------------------------------------------ r56396 | svn | 2016-10-12 01:36:15 +0900 (Wed, 12 Oct 2016) | 1 line * 2016-10-12 ------------------------------------------------------------------------ r56395 | kazu | 2016-10-12 01:36:14 +0900 (Wed, 12 Oct 2016) | 1 line `\s` includes `\t` ------------------------------------------------------------------------ r56394 | nobu | 2016-10-11 22:21:30 +0900 (Tue, 11 Oct 2016) | 4 lines bootstraptest/runner.rb: first line in the source * bootstraptest/runner.rb (pretty): remove empty line at the beginning only. ------------------------------------------------------------------------ r56393 | nobu | 2016-10-11 22:08:27 +0900 (Tue, 11 Oct 2016) | 4 lines io.c: fix typo * io.c (prep_io): fix typo of struct member name. [ruby-core:77550] [Bug #12829] ------------------------------------------------------------------------ r56392 | akr | 2016-10-11 16:53:56 +0900 (Tue, 11 Oct 2016) | 4 lines Add an optional argument, env, to URI.find_proxy. * lib/uri/generic.rb (URI.find_proxy): Add an optional argument, env. ------------------------------------------------------------------------ r56391 | akr | 2016-10-11 16:44:58 +0900 (Tue, 11 Oct 2016) | 7 lines pp prints a multiple lines string prettier. * lib/pp.rb (String#pretty_print): Defined to print a string as multiple lines. [ruby-core:76800] [Feature#12664] proposed by Petr Chalupa. ------------------------------------------------------------------------ r56390 | svn | 2016-10-11 14:35:38 +0900 (Tue, 11 Oct 2016) | 1 line * 2016-10-11 ------------------------------------------------------------------------ r56389 | akr | 2016-10-11 14:35:37 +0900 (Tue, 11 Oct 2016) | 2 lines Ruby 2.4.0 will not have rb_cFixnum and rb_cBignum is removed. ------------------------------------------------------------------------ r56388 | nobu | 2016-10-10 15:22:30 +0900 (Mon, 10 Oct 2016) | 4 lines ruby.c: bind fd before waiting * ruby.c (open_load_file): bind the open fd to an IO instance before waiting FIFO, not to leak the fd if interrupted. ------------------------------------------------------------------------ r56387 | nobu | 2016-10-10 15:14:07 +0900 (Mon, 10 Oct 2016) | 7 lines test_require.rb: use assert_separately * test/ruby/test_require.rb (test_loading_fifo_threading_raise): use assert_separately. * test/ruby/test_require.rb (test_loading_fifo_threading_success): ditto. ------------------------------------------------------------------------ r56386 | nobu | 2016-10-10 12:40:56 +0900 (Mon, 10 Oct 2016) | 4 lines ruby.c: compare with EXEEXT * ruby.c (open_load_file): compare with EXEEXT instead of hard coded name, and do not match with mere EXEEXT. ------------------------------------------------------------------------ r56385 | nobu | 2016-10-10 12:40:06 +0900 (Mon, 10 Oct 2016) | 4 lines ruby.c: open in binary mode to load * ruby.c (open_load_file): open in binary mode if available, as parser deals with EOLs. ------------------------------------------------------------------------ r56384 | svn | 2016-10-10 12:37:10 +0900 (Mon, 10 Oct 2016) | 1 line * 2016-10-10 ------------------------------------------------------------------------ r56383 | nobu | 2016-10-10 12:37:09 +0900 (Mon, 10 Oct 2016) | 4 lines io.c: reduce isatty on Cygwin [ci skip] * io.c (prep_io): reduce isatty call (and its system call) on Cygwin. ------------------------------------------------------------------------ r56382 | nobu | 2016-10-09 23:05:57 +0900 (Sun, 09 Oct 2016) | 5 lines replace Fixnum with Integer in rdoc [ci skip] * array.c, class.c: Fixed documentation where Fixnum was referred directly to use Integer, as Fixnum and Bignum are now unified into Integer and direct usage is deprecated. [Fix GH-1459] ------------------------------------------------------------------------ r56381 | nobu | 2016-10-09 18:42:17 +0900 (Sun, 09 Oct 2016) | 5 lines vm_insnhelper.c: update assertion [ci skip] * vm_insnhelper.c (callable_class_p): update assertion as callable class may be T_MODULE or I_ICLASS which refines a module since r56213. [Feature #12534] ------------------------------------------------------------------------ r56380 | nobu | 2016-10-09 11:57:29 +0900 (Sun, 09 Oct 2016) | 5 lines vm_method.c: update assertion [ci skip] * vm_method.c (prepare_callable_method_entry): update assertion as defined_class may be T_MODULE not only I_ICLASS since r56213. [Feature #12534] ------------------------------------------------------------------------ r56379 | svn | 2016-10-09 11:37:22 +0900 (Sun, 09 Oct 2016) | 1 line * 2016-10-09 ------------------------------------------------------------------------ r56378 | nobu | 2016-10-09 11:37:21 +0900 (Sun, 09 Oct 2016) | 4 lines vm_core.h: stringify in VM_ASSERT * vm_core.h (VM_ASSERT): stringify expr here before expansion in RUBY_ASSERT_WHEN. ------------------------------------------------------------------------ r56377 | nobu | 2016-10-08 10:54:24 +0900 (Sat, 08 Oct 2016) | 4 lines memory_status.c: Win32 API * ext/-test-/memory_status/memory_status.c (read_status): use Win32 GetProcessMemoryInfo API. ------------------------------------------------------------------------ r56376 | nobu | 2016-10-08 10:34:27 +0900 (Sat, 08 Oct 2016) | 4 lines memory_status.c: system call * ext/-test-/memory_status/memory_status.c: get memory sizes by mach task_info system call. ------------------------------------------------------------------------ r56375 | svn | 2016-10-08 09:06:58 +0900 (Sat, 08 Oct 2016) | 1 line * 2016-10-08 ------------------------------------------------------------------------ r56374 | nobu | 2016-10-08 09:06:57 +0900 (Sat, 08 Oct 2016) | 13 lines logger: fix monthly log rotate with DST * lib/logger.rb (Logger::Period#next_rotate_time): fix monthly log rotate when DST is applied during a month of 31 days. [Fix GH-1458] With DST the month of october can actually last more than 31 days. It can last 31 days plus 1 hour. So during october, `t` used to be equal to "2016-10-31 23:00:00" instead of "2016-11-01 00:00:00". This was then normalized to "2016-10-01 00:00:00" which lead every single line of log during october to rotate the log file. This fix ensure that next_rotate_time(now, 'monthly') always return the first day of next month in every situation. ------------------------------------------------------------------------ r56373 | nobu | 2016-10-07 20:21:41 +0900 (Fri, 07 Oct 2016) | 5 lines gc.c: fix GC_PROFILE_DETAIL_MEMORY * gc.c (gc_prof_setup_new_record): fix the condition to get rusage. * gc.c (gc_profile_dump_major_reason): remove undefined flags. ------------------------------------------------------------------------ r56372 | suke | 2016-10-07 19:24:56 +0900 (Fri, 07 Oct 2016) | 4 lines ext/win32ole/*.c, ext/win32ole/win32ole.h: use RB_INT2FIX instead of INT2FIX, and so on. ------------------------------------------------------------------------ r56371 | hsbt | 2016-10-07 14:18:57 +0900 (Fri, 07 Oct 2016) | 8 lines * basictest/test.rb: Adjust spaces in class declarations with inheritance. [fix GH-1227] Patch by @adrfer * lib/irb/*: ditto. * lib/prime.rb: ditto. * lib/shell/builtin-command.rb: ditto. * object.c: ditto. * sample/*.rb: ditto. * test/-ext-/method/test_arity.rb: ditto. ------------------------------------------------------------------------ r56366 | svn | 2016-10-07 02:09:04 +0900 (Fri, 07 Oct 2016) | 1 line * 2016-10-07 ------------------------------------------------------------------------ r56365 | nagachika | 2016-10-07 02:09:03 +0900 (Fri, 07 Oct 2016) | 1 line * ChangeLog: fix a typo at r56363. ------------------------------------------------------------------------ r56364 | kazu | 2016-10-06 21:15:00 +0900 (Thu, 06 Oct 2016) | 1 line Fix cmd is referenced but not assigned ------------------------------------------------------------------------ r56363 | nobu | 2016-10-06 17:29:46 +0900 (Thu, 06 Oct 2016) | 5 lines load.c: setup syntax error backtrace * load.c (rb_require_safe): SyntaxError created by the parser just has the mesage and needs to set up the backtrace. [ruby-core:77491] [Bug #12811] ------------------------------------------------------------------------ r56362 | nobu | 2016-10-06 15:53:22 +0900 (Thu, 06 Oct 2016) | 4 lines load.c: fix load/require context * load.c (rb_load_internal0): load/require is not the main script. ------------------------------------------------------------------------ r56361 | nobu | 2016-10-06 14:46:55 +0900 (Thu, 06 Oct 2016) | 9 lines bisect.sh: improve * tool/bisect.sh: make srcs before building. * tool/bisect.sh: quote expansions. * tool/bisect.sh: skip build if chdir and Makefile failed. * tool/bisect.sh: fail at unknown command. ------------------------------------------------------------------------ r56360 | marcandre | 2016-10-06 13:35:26 +0900 (Thu, 06 Oct 2016) | 1 line * enum.c: [DOC] Improve doc [ci-skip] ------------------------------------------------------------------------ r56359 | nobu | 2016-10-06 12:53:34 +0900 (Thu, 06 Oct 2016) | 4 lines test_io.rb: split test_gets_rs * test/ruby/test_io.rb (test_gets_rs): split for each record separators. ------------------------------------------------------------------------ r56358 | hsbt | 2016-10-06 11:38:18 +0900 (Thu, 06 Oct 2016) | 2 lines * ext/readline/extconf.rb: Update error message with correct words. [fix GH-1453][ci skip] Patch by @magikid ------------------------------------------------------------------------ r56357 | nobu | 2016-10-06 11:04:28 +0900 (Thu, 06 Oct 2016) | 4 lines uri/common.rb: Update URI::WEB_ENCODINGS_ [ci skip] * lib/uri/common.rb (WEB_ENCODINGS_): split command lines and append a trailing comma. ------------------------------------------------------------------------ r56356 | nobu | 2016-10-06 11:01:51 +0900 (Thu, 06 Oct 2016) | 1 line Update URI WEB_ENCODINGS_ hash, and fix documented cmd to ------------------------------------------------------------------------ r56355 | hsbt | 2016-10-06 10:53:17 +0900 (Thu, 06 Oct 2016) | 2 lines * enum.c: Add reduce/inject alias note. [fix GH-1400][ci skip] Patch by @getaaron ------------------------------------------------------------------------ r56354 | nobu | 2016-10-06 10:30:29 +0900 (Thu, 06 Oct 2016) | 4 lines thread.c: check coverage values * thread.c (update_coverage): check coverage values, and ignore non-fixnum values. ------------------------------------------------------------------------ r56353 | svn | 2016-10-06 09:19:24 +0900 (Thu, 06 Oct 2016) | 1 line * 2016-10-06 ------------------------------------------------------------------------ r56352 | nobu | 2016-10-06 09:19:23 +0900 (Thu, 06 Oct 2016) | 3 lines io.c: use RB_INTEGER_TYPE_P * io.c (fptr_finalize): use dedicated macro RB_INTEGER_TYPE_P. ------------------------------------------------------------------------ r56351 | kazu | 2016-10-05 21:36:40 +0900 (Wed, 05 Oct 2016) | 1 line Update freenode server name [ci skip] ------------------------------------------------------------------------ r56350 | hsbt | 2016-10-05 18:02:50 +0900 (Wed, 05 Oct 2016) | 2 lines * lib/net/http/response.rb: Improve document readability. [fix GH-1411][ci skip] Patch by @stz-seongheon ------------------------------------------------------------------------ r56349 | nobu | 2016-10-05 16:01:31 +0900 (Wed, 05 Oct 2016) | 4 lines test_io.rb: workaround for Docker * test/ruby/test_io.rb (test_ioctl_linux2): tty device may not work on Docker. ------------------------------------------------------------------------ r56348 | nobu | 2016-10-05 15:43:34 +0900 (Wed, 05 Oct 2016) | 3 lines node.c: flatten NODE_BLOCK [ci skip] * node.c (dump_node): flatten statements in NODE_BLOCK. ------------------------------------------------------------------------ r56347 | hsbt | 2016-10-05 14:27:42 +0900 (Wed, 05 Oct 2016) | 2 lines * range.c: Add docs for max/min behavior with exclusive range. [fix GH-1433][ci skip] Patch by @BM5k ------------------------------------------------------------------------ r56346 | hsbt | 2016-10-05 12:57:32 +0900 (Wed, 05 Oct 2016) | 2 lines * ext/socket/*.c: Add proper require for example to work. [fix GH-1378][ci skip] Patch by @schneems ------------------------------------------------------------------------ r56345 | hsbt | 2016-10-05 11:51:09 +0900 (Wed, 05 Oct 2016) | 1 line Added missing contributor name. ------------------------------------------------------------------------ r56344 | hsbt | 2016-10-05 11:47:25 +0900 (Wed, 05 Oct 2016) | 2 lines * io.c: Fixed equivalent ruby code with core implemention. [fix GH-1429][ci skip] ------------------------------------------------------------------------ r56343 | hsbt | 2016-10-05 11:36:28 +0900 (Wed, 05 Oct 2016) | 2 lines * lib/delegate.rb: Added missing spaces and Removed needless spaces. [fix GH-1454][ci skip] Patch by @bogdanvlviv ------------------------------------------------------------------------ r56342 | marcandre | 2016-10-05 03:25:16 +0900 (Wed, 05 Oct 2016) | 2 lines * enum.c: Make Enumerable#chunk with no block return an Enumerator [#2172] ------------------------------------------------------------------------ r56341 | svn | 2016-10-05 01:25:02 +0900 (Wed, 05 Oct 2016) | 1 line * 2016-10-05 ------------------------------------------------------------------------ r56340 | usa | 2016-10-05 01:25:01 +0900 (Wed, 05 Oct 2016) | 19 lines * internal.h (ST2FIX): new macro to convert st_index_t to Fixnum. a hash value of Object might be Bignum, but it causes many troubles expecially the Object is used as a key of a hash. so I've gave up to do so. * array.c (rb_ary_hash): use above macro. * bignum.c (rb_big_hash): ditto. * hash.c (rb_obj_hash, rb_hash_hash): ditto. * numeric.c (rb_dbl_hash): ditto. * proc.c (proc_hash): ditto. * re.c (rb_reg_hash, match_hash): ditto. * string.c (rb_str_hash_m): ditto. ------------------------------------------------------------------------ r56339 | kazu | 2016-10-04 21:24:40 +0900 (Tue, 04 Oct 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r56338 | kazu | 2016-10-04 21:23:14 +0900 (Tue, 04 Oct 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r56337 | nobu | 2016-10-04 12:59:46 +0900 (Tue, 04 Oct 2016) | 4 lines array.c: update Array#dig doc * array.c (rb_ary_dig): [DOC] update an example of error message by Array#dig, because of Integer Unification. [Fix GH-1455] ------------------------------------------------------------------------ r56336 | nobu | 2016-10-04 09:55:15 +0900 (Tue, 04 Oct 2016) | 4 lines bigdecimal.c: more precision * ext/bigdecimal/bigdecimal.c (BigDecimal_div2): need more room for precision to round. [ruby-core:77475] [Bug #12805] ------------------------------------------------------------------------ r56335 | nobu | 2016-10-04 09:55:14 +0900 (Tue, 04 Oct 2016) | 7 lines bigdecimal.c: fix debug print * ext/bigdecimal/bigdecimal.c (VpFree, VpInit): fix debug print format. * ext/bigdecimal/bigdecimal.c (VPrint): fix argument description, and embed NaN, Infinity, and zero in the format. ------------------------------------------------------------------------ r56334 | svn | 2016-10-04 06:06:51 +0900 (Tue, 04 Oct 2016) | 1 line * 2016-10-04 ------------------------------------------------------------------------ r56333 | naruse | 2016-10-04 06:06:50 +0900 (Tue, 04 Oct 2016) | 2 lines * regcomp.c (onig_print_compiled_byte_code): make the shown address look relative. ------------------------------------------------------------------------ r56332 | naruse | 2016-10-04 06:06:50 +0900 (Tue, 04 Oct 2016) | 7 lines * regexec.c (OPCODE_EXEC_HOOK): op is p-1 because p is already incremented. * regexec.c (OPCODE_EXEC_HOOK): use the exact end address. * regexec.c (match_at): don't call OPCODE_EXEC_HOOK in CASE() when it comes from goto fail. ------------------------------------------------------------------------ r56330 | nobu | 2016-10-03 21:39:10 +0900 (Mon, 03 Oct 2016) | 4 lines use rb_locale_str_new * ext/readline/readline.c (readline_char_is_quoted): use rb_locale_str_new with the length. [Feature #12659] ------------------------------------------------------------------------ r56329 | kazu | 2016-10-03 21:26:00 +0900 (Mon, 03 Oct 2016) | 1 line * NEWS: mention Readline.quoting_detection_proc{,=}. [ci skip] ------------------------------------------------------------------------ r56328 | kazu | 2016-10-03 21:21:14 +0900 (Mon, 03 Oct 2016) | 4 lines [DOC] Fix default value of shift_age [ci skip] `LogDevice#initialize` treats shift_age: nil as 7, but Logger#initialize has the default value of shift_age as 0. ------------------------------------------------------------------------ r56327 | kazu | 2016-10-03 21:18:33 +0900 (Mon, 03 Oct 2016) | 1 line Add prefix to FIX2LONG in include/ruby/ruby.h ------------------------------------------------------------------------ r56326 | nobu | 2016-10-03 17:20:07 +0900 (Mon, 03 Oct 2016) | 6 lines rl_char_is_quoted_p * ext/readline/readline.c (readline_s_set_quoting_detection_proc): support rl_char_is_quoted_p. [Feature #12659] * ext/readline/readline.c (readline_s_get_quoting_detection_proc): ditto. ------------------------------------------------------------------------ r56325 | svn | 2016-10-03 16:10:50 +0900 (Mon, 03 Oct 2016) | 1 line * 2016-10-03 ------------------------------------------------------------------------ r56324 | nobu | 2016-10-03 16:10:49 +0900 (Mon, 03 Oct 2016) | 4 lines readline.c: mustbe_callable * ext/readline/readline.c (mustbe_callable): extract to check a given argument to be callable. ------------------------------------------------------------------------ r56323 | nobu | 2016-10-02 12:32:07 +0900 (Sun, 02 Oct 2016) | 4 lines numeric.c: adjust type * numeric.c (rb_fix2str): cast to a pointer to adjust argument type for the format. ------------------------------------------------------------------------ r56322 | nobu | 2016-10-02 08:22:30 +0900 (Sun, 02 Oct 2016) | 4 lines ruby.h: add prefix * include/ruby/ruby.h (RB_INT2FIX, RB_LONG2FIX): prefix RB to global symbols to get rid of name conflicts with other headers. ------------------------------------------------------------------------ r56321 | nobu | 2016-10-02 07:51:23 +0900 (Sun, 02 Oct 2016) | 3 lines string.c: negative hash * string.c (rb_str_hash_m): hash values may be negative. ------------------------------------------------------------------------ r56320 | usa | 2016-10-02 02:06:21 +0900 (Sun, 02 Oct 2016) | 4 lines * string.c (rb_str_hash_m): st_index_t is not guaranteed as the same size with int, and of course also not guaranteed the value can be Fixnum. ------------------------------------------------------------------------ r56319 | svn | 2016-10-02 02:04:05 +0900 (Sun, 02 Oct 2016) | 1 line * 2016-10-02 ------------------------------------------------------------------------ r56318 | usa | 2016-10-02 02:04:04 +0900 (Sun, 02 Oct 2016) | 2 lines * numeric.c (rb_fix2str): detect unnormalized Fixnum value. ------------------------------------------------------------------------ r56317 | usa | 2016-10-01 23:12:34 +0900 (Sat, 01 Oct 2016) | 4 lines * ext/date/date_parse.c (date_zone_to_diff): it's nonsence and really harm that to use unary minus operator with unsigned value. get rid of test failures introduced at r56312. ------------------------------------------------------------------------ r56316 | nobu | 2016-10-01 22:17:51 +0900 (Sat, 01 Oct 2016) | 4 lines compile.c: literal range * compile.c (iseq_compile_each): move numeric literal range optimization from fixup_nodes() in parse.y. ------------------------------------------------------------------------ r56315 | nobu | 2016-10-01 19:19:36 +0900 (Sat, 01 Oct 2016) | 5 lines compile.c: optimize flip-flop * compile.c (compile_flip_flop): simplify generated code. * compile.c (compile_branch_condition): flip-flop can appear only in coditional expressions. ------------------------------------------------------------------------ r56314 | nobu | 2016-10-01 18:00:05 +0900 (Sat, 01 Oct 2016) | 4 lines date_parse.c: str_end_with * ext/date/date_parse.c (str_end_with): extract to tell if a string ends with the other string. ------------------------------------------------------------------------ r56313 | nobu | 2016-10-01 17:52:43 +0900 (Sat, 01 Oct 2016) | 3 lines zonetab.h: use strncmp * ext/date/zonetab.h (zonetab): use strncmp. ------------------------------------------------------------------------ r56312 | nobu | 2016-10-01 17:52:42 +0900 (Sat, 01 Oct 2016) | 4 lines date_parse.c: refactor * ext/date/date_parse.c (date_zone_to_diff): refactor without allocating strings. ------------------------------------------------------------------------ r56311 | svn | 2016-10-01 02:03:49 +0900 (Sat, 01 Oct 2016) | 1 line * 2016-10-01 ------------------------------------------------------------------------ r56310 | usa | 2016-10-01 02:03:48 +0900 (Sat, 01 Oct 2016) | 3 lines * win32/win32.c (poll_child_status): rb_w32_wait_events_blocking() sets errno internally, then should not set it here. ------------------------------------------------------------------------ r56299 | nobu | 2016-09-30 21:46:53 +0900 (Fri, 30 Sep 2016) | 3 lines test_flip.rb: add * test/ruby/test_flip.rb (test_flip_flop): basic test. ------------------------------------------------------------------------ r56298 | hsbt | 2016-09-30 19:06:24 +0900 (Fri, 30 Sep 2016) | 3 lines * lib/uri/http.rb: Documentation and code style imrovements. * test/uri/test_http.rb: Added test for coverage. [fix GH-1427][ruby-core:77255][Misc #12756] ------------------------------------------------------------------------ r56297 | hsbt | 2016-09-30 18:43:24 +0900 (Fri, 30 Sep 2016) | 2 lines * doc/syntax/control_expressions.rdoc: Add missing 'as' [ci skip][fix GH-1448] Patch by @jsyeo ------------------------------------------------------------------------ r56296 | svn | 2016-09-30 13:02:18 +0900 (Fri, 30 Sep 2016) | 1 line * 2016-09-30 ------------------------------------------------------------------------ r56295 | nobu | 2016-09-30 13:02:17 +0900 (Fri, 30 Sep 2016) | 4 lines test_range.rb: all assertions * test/ruby/test_range.rb (test_range_bsearch_for_floats): test all assertions. ------------------------------------------------------------------------ r56294 | kazu | 2016-09-29 23:40:34 +0900 (Thu, 29 Sep 2016) | 1 line * lib/yaml/store.rb (YAML::Store#dump): use table argument instead of @table directly. ------------------------------------------------------------------------ r56293 | kazu | 2016-09-29 22:56:11 +0900 (Thu, 29 Sep 2016) | 1 line update call-seq of YAML::Store#initialize [ci skip] ------------------------------------------------------------------------ r56292 | svn | 2016-09-29 22:43:47 +0900 (Thu, 29 Sep 2016) | 1 line * properties. ------------------------------------------------------------------------ r56291 | kazu | 2016-09-29 22:43:46 +0900 (Thu, 29 Sep 2016) | 14 lines fix YAML::Store * lib/yaml/store.rb (YAML::Store#initialize): Fix arguments. [ruby-dev:49821] [Bug #12800] * test/yaml/test_store.rb: Add tests from test/test_pstore.rb. * test/yaml/test_store.rb (YAMLStoreTest#test_with_options): Add options test. * lib/yaml/store.rb (YAML::Store#dump): Revert to to_yaml. * lib/yaml/store.rb (YAML::Store#empty_marshal_data): Use to_yaml with options. * lib/yaml/store.rb (YAML::Store#empty_marshal_checksum): Use CHECKSUM_ALGO. ------------------------------------------------------------------------ r56290 | kazu | 2016-09-29 21:08:30 +0900 (Thu, 29 Sep 2016) | 1 line checksum algorithm is not MD5 only [ci skip] ------------------------------------------------------------------------ r56289 | nobu | 2016-09-29 20:33:03 +0900 (Thu, 29 Sep 2016) | 3 lines parse.y: deferred_dots_gen * parse.y (deferred_dots_gen): extract for tDOT2 and tDOT3. ------------------------------------------------------------------------ r56288 | nobu | 2016-09-29 19:38:35 +0900 (Thu, 29 Sep 2016) | 4 lines appveyor.yml: use mirror for zlib * appveyor.yml (install): try sourceforge.net mirror to download zlib source. ------------------------------------------------------------------------ r56287 | nobu | 2016-09-29 19:34:25 +0900 (Thu, 29 Sep 2016) | 5 lines thread_sync.c: Document exception types * thread_sync.c (rb_queue_pop, rb_szqueue_push, rb_szqueue_pop): Document exception types, ThreadError, raised by Queue and SizedQueue. [Fix GH-1451] ------------------------------------------------------------------------ r56286 | svn | 2016-09-29 19:21:05 +0900 (Thu, 29 Sep 2016) | 1 line * 2016-09-29 ------------------------------------------------------------------------ r56285 | nobu | 2016-09-29 19:21:04 +0900 (Thu, 29 Sep 2016) | 5 lines thread_sync.c: Remove confusing comments * thread_sync.c (Init_thread_sync): Remove confusing doc comments, which are picked up by rdoc unexpectedly, from Queue and SizedQueue. [Fix GH-1450] ------------------------------------------------------------------------ r56284 | nobu | 2016-09-28 23:14:21 +0900 (Wed, 28 Sep 2016) | 5 lines PStore: select checksum algorithm * lib/pstore.rb (PStore::CHECKSUM_ALGO): find available hashing algorithm for checksum. MD5 is not available in FIPS mode. [Feature #6943] ------------------------------------------------------------------------ r56283 | nobu | 2016-09-28 23:12:33 +0900 (Wed, 28 Sep 2016) | 4 lines test_pstore.rb: use queues * test/test_pstore.rb (PStoreTest#test_thread_safe): handshake by queues, and reduce sleeping time. ------------------------------------------------------------------------ r56282 | nobu | 2016-09-28 14:11:22 +0900 (Wed, 28 Sep 2016) | 3 lines strscan.c: minl * ext/strscan/strscan.c (minl): extract to reduce repeated S_LEN. ------------------------------------------------------------------------ r56281 | nobu | 2016-09-28 14:11:20 +0900 (Wed, 28 Sep 2016) | 4 lines strscan.c: use S_RESTLEN * ext/strscan/strscan.c (strscan_getch, strscan_peek), (strscan_rest_size, inspect2): use S_RESTLEN consistently. ------------------------------------------------------------------------ r56280 | nobu | 2016-09-28 13:00:27 +0900 (Wed, 28 Sep 2016) | 4 lines Update Signal.signame doc [ci-skip] * signal.c (sig_signame): [DOC] Add documentation in the case of return nil. [Fix GH-1449] ------------------------------------------------------------------------ r56279 | shyouhei | 2016-09-28 10:49:16 +0900 (Wed, 28 Sep 2016) | 2 lines * .travis.yml: delete comments. They were outdated. [ci skip] ------------------------------------------------------------------------ r56278 | nobu | 2016-09-28 10:16:43 +0900 (Wed, 28 Sep 2016) | 4 lines rubygems 2.6.7 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems to 2.6.7, not the master, with r56225. ------------------------------------------------------------------------ r56277 | nobu | 2016-09-28 09:57:53 +0900 (Wed, 28 Sep 2016) | 5 lines rubygems 2.6.7 * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems to 2.6.7. Release note of 2.6.7: https://github.com/rubygems/rubygems/commit/60f35bd1d2359fc30301d2d4cd72bc6833e8d12a ------------------------------------------------------------------------ r56276 | nagachika | 2016-09-28 03:09:00 +0900 (Wed, 28 Sep 2016) | 3 lines * ChangeLog: fix typo of r56271. [ci skip] * NEWS: ditto. ------------------------------------------------------------------------ r56275 | svn | 2016-09-28 00:21:02 +0900 (Wed, 28 Sep 2016) | 1 line * 2016-09-28 ------------------------------------------------------------------------ r56274 | nobu | 2016-09-28 00:21:01 +0900 (Wed, 28 Sep 2016) | 4 lines error.c: check argument of Warning.warn * error.c (rb_warning_s_warn): the argument must be an ASCII-compatible string. [ruby-core:77430] [Bug #12793] ------------------------------------------------------------------------ r56273 | nobu | 2016-09-27 23:22:33 +0900 (Tue, 27 Sep 2016) | 8 lines parse.y: fix up r56198 * parse.y (symbol, dsym, parser_set_number_literal): set state to ENDARG, so that `do` after a literal should be `do_block` and bound to the outer method. [ruby-core:72482] [Bug #11873] * parse.y (parse_ident): revert r56198. * parse.y (warn_balanced): the state of symbol and numeric literals is now EXPR_ENDARG, do not exclude it. ------------------------------------------------------------------------ r56272 | nobu | 2016-09-27 23:19:32 +0900 (Tue, 27 Sep 2016) | 4 lines test_syntax.rb: more test_warn_balanced * test/ruby/test_syntax.rb (test_warn_balanced): more assertions for a symbol literal and a local variable. ------------------------------------------------------------------------ r56271 | shyouhei | 2016-09-27 23:01:17 +0900 (Tue, 27 Sep 2016) | 2 lines * NEWS: news about Warning.warning. [ci skip] ------------------------------------------------------------------------ r56270 | kazu | 2016-09-27 21:13:52 +0900 (Tue, 27 Sep 2016) | 1 line * test/ripper/test_ripper.rb: fix squiggly heredoc identifier ------------------------------------------------------------------------ r56269 | shyouhei | 2016-09-27 18:19:14 +0900 (Tue, 27 Sep 2016) | 6 lines * error.c: This makes all warnings raised call Warning.warn, which by default does the same thing it does currently (rb_write_error_str). You can override Warning.warn to change the behavior. [ruby-core:75016] [Feature #12299] ------------------------------------------------------------------------ r56268 | nobu | 2016-09-27 17:35:31 +0900 (Tue, 27 Sep 2016) | 4 lines iseq.c: syntax error in compile_file * iseq.c (iseqw_s_compile_file): deal with syntax error as well as compile, and should not abort when rescued. ------------------------------------------------------------------------ r56267 | nobu | 2016-09-27 17:35:30 +0900 (Tue, 27 Sep 2016) | 4 lines assertions.rb: success option * test/lib/test/unit/assertions.rb (assert_in_out_err): add success option to check the exit status. ------------------------------------------------------------------------ r56266 | nobu | 2016-09-27 15:23:36 +0900 (Tue, 27 Sep 2016) | 4 lines iseq.c: kwarg to compile * iseq.c (iseqw_s_compile, iseqw_s_compile_file): allow keyword arguments as the options. ------------------------------------------------------------------------ r56265 | nobu | 2016-09-27 14:34:41 +0900 (Tue, 27 Sep 2016) | 3 lines iseq.c: file name encoding * iseq.c (iseqw_s_compile): keep the encoding of file name. ------------------------------------------------------------------------ r56264 | nobu | 2016-09-27 14:26:26 +0900 (Tue, 27 Sep 2016) | 1 line ChangeLog: remove extra line ------------------------------------------------------------------------ r56263 | kazu | 2016-09-27 12:50:41 +0900 (Tue, 27 Sep 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r56262 | naruse | 2016-09-27 12:17:47 +0900 (Tue, 27 Sep 2016) | 3 lines * lib/cgi/cookie.rb (parse): don't allow , as a separator. [Bug #12791] * lib/webrick/cookie.rb (parse): ditto. ------------------------------------------------------------------------ r56261 | svn | 2016-09-27 06:12:13 +0900 (Tue, 27 Sep 2016) | 1 line * 2016-09-27 ------------------------------------------------------------------------ r56260 | headius | 2016-09-27 06:12:12 +0900 (Tue, 27 Sep 2016) | 1 line * test/ripper/test_ripper.rb: add a test for dedent_string. ------------------------------------------------------------------------ r56256 | knu | 2016-09-26 21:39:18 +0900 (Mon, 26 Sep 2016) | 4 lines Remove Ns before puctuation * man/erb.1, man/irb.1, man/ri.1, man/ruby.1: Remove Ns before puctuation. ------------------------------------------------------------------------ r56254 | nobu | 2016-09-26 16:33:16 +0900 (Mon, 26 Sep 2016) | 4 lines test_exception.rb: another assertion * test/ruby/test_exception.rb (test_throw_false): test the thrown tag. [Bug #12743] ------------------------------------------------------------------------ r56253 | rhe | 2016-09-26 16:24:55 +0900 (Mon, 26 Sep 2016) | 10 lines stringio.c: fix signed integer overflow * ext/stringio/stringio.c (strio_seek): Avoid signed integer overflow. It's not harmful in practice here, but is still undefined behavior. * ext/stringio/stringio.c (strio_extend): Check that the new length does not exceed LONG_MAX. This fixes the invalid write on the overflow. * test/stringio/test_stringio.rb (test_write_integer_overflow): Add a test case for the above fix in strio_extend(). ------------------------------------------------------------------------ r56252 | rhe | 2016-09-26 15:43:51 +0900 (Mon, 26 Sep 2016) | 10 lines eval_intern.h: make TH_PUSH_TAG() initialize rb_vm_tag::tag with Qundef * eval_intern.h (TH_PUSH_TAG): Initialize struct rb_vm_tag::tag with Qundef rather than 0 which is equal to Qfalse. Since Kernel#throw(obj) searches a tag with rb_vm_tag::tag == obj, throw(false) can accidentally find an unrelated tag which is not created by Kernel#catch. [ruby-core:77229] [Bug #12743] * test/ruby/test_exception.rb (test_throw_false): Add a test case for this. ------------------------------------------------------------------------ r56251 | sonots | 2016-09-26 14:45:29 +0900 (Mon, 26 Sep 2016) | 3 lines * lib/tempfile.rb: provide default basename parameter for Tempfile.create. [Feature #11965] Patch by Yuki Kurihara * test/test_tempfile.rb: ditto. ------------------------------------------------------------------------ r56250 | nobu | 2016-09-26 14:10:56 +0900 (Mon, 26 Sep 2016) | 5 lines string.c: fast path of lstrip_offset * string.c (lstrip_offset): add a fast path in the case of single byte optimizable strings, as well as rstrip_offset. [ruby-core:77392] [Feature #12788] ------------------------------------------------------------------------ r56249 | nobu | 2016-09-26 12:00:14 +0900 (Mon, 26 Sep 2016) | 3 lines minitest-5.9.1 * gems/bundled_gems: update to minitest-5.9.1. ------------------------------------------------------------------------ r56248 | rhe | 2016-09-26 11:50:31 +0900 (Mon, 26 Sep 2016) | 5 lines rbinstall.rb: don't install gemspec for skipped libraries * tool/rbinstall.rb (gem): Don't install gemspec if no files will be installed for the gem. This happens when the extension library is not compiled. ------------------------------------------------------------------------ r56247 | rhe | 2016-09-26 11:09:50 +0900 (Mon, 26 Sep 2016) | 12 lines string.c: fix integer overflow in enc_strlen() and rb_enc_strlen_cr() * string.c (enc_strlen, rb_enc_strlen_cr): Avoid signed integer overflow. The result type of a pointer subtraction may have the same size as long. This fixes String#size returning an negative value on i686-linux environment: str = "\x00" * ((1<<31)-2)) str.slice!(-3, 3) str.force_encoding("UTF-32BE") str << 1234 p str.size ------------------------------------------------------------------------ r56246 | svn | 2016-09-26 07:29:17 +0900 (Mon, 26 Sep 2016) | 1 line * 2016-09-26 ------------------------------------------------------------------------ r56245 | nobu | 2016-09-26 07:29:16 +0900 (Mon, 26 Sep 2016) | 4 lines test_dln.rb: fix constants * test/-ext-/win32/test_dln.rb (test_check_imported): use toplevel constants explicitly to get rid of constants under the scope. ------------------------------------------------------------------------ r56239 | nobu | 2016-09-25 23:48:22 +0900 (Sun, 25 Sep 2016) | 4 lines vm_args.c: split make_unused_kw_hash * vm_args.c (make_unknown_kw_hash, make_rest_kw_hash): split make_unused_kw_hash for key_only parameter. ------------------------------------------------------------------------ r56238 | nobu | 2016-09-25 22:48:08 +0900 (Sun, 25 Sep 2016) | 5 lines remove unnecessary :stag accessor * lib/erb.rb (ERB::Compiler::TrimScanner#stag): The :stag accessor has already been available because it is defined in parent Scanner class. [Fix GH-1445] ------------------------------------------------------------------------ r56237 | nobu | 2016-09-25 22:33:08 +0900 (Sun, 25 Sep 2016) | 3 lines proc.c: trivial optimization * proc.c (rb_proc_arity): reduce repeated GetProcPtr. ------------------------------------------------------------------------ r56236 | svn | 2016-09-25 19:23:34 +0900 (Sun, 25 Sep 2016) | 1 line * 2016-09-25 ------------------------------------------------------------------------ r56235 | ktsj | 2016-09-25 19:23:33 +0900 (Sun, 25 Sep 2016) | 2 lines * node.c (dump_array): remove duplicate header of NODE_ARRAY/ NODE_VALUES. ------------------------------------------------------------------------ r56231 | nobu | 2016-09-24 22:26:24 +0900 (Sat, 24 Sep 2016) | 4 lines appveyor.yml: build zlib together * appveyor.yml (install): extract zlib source under ext/zlib and build within the build process. ------------------------------------------------------------------------ r56230 | nobu | 2016-09-24 22:26:21 +0900 (Sat, 24 Sep 2016) | 6 lines install extra libraries * ext/extmk.rb (extract_makefile, extmake, configuration): store extra libraries to be installed. * tool/rbinstall.rb (ext-arch): install extra libraries. * ext/zlib/extconf.rb: install zlib if built. ------------------------------------------------------------------------ r56229 | nobu | 2016-09-24 21:51:14 +0900 (Sat, 24 Sep 2016) | 3 lines use OpenSSL-Win64 * appveyor.yml (install): use pre-installed OpenSSL-Win64. ------------------------------------------------------------------------ r56228 | nobu | 2016-09-24 21:51:14 +0900 (Sat, 24 Sep 2016) | 1 line use TESTOPTS instead of OPTS for tests ------------------------------------------------------------------------ r56227 | nobu | 2016-09-24 20:52:56 +0900 (Sat, 24 Sep 2016) | 5 lines Download by AppVeyor * appveyor.yml (install): use AppVeyor command-line utility to download files, instead of Start-FileDownload cmdlet which no longer works more than once. ------------------------------------------------------------------------ r56226 | kazu | 2016-09-24 14:26:42 +0900 (Sat, 24 Sep 2016) | 1 line * spec/README: update URL. [ci skip] ------------------------------------------------------------------------ r56225 | nobu | 2016-09-24 11:28:25 +0900 (Sat, 24 Sep 2016) | 3 lines fid typos [ci skip] * fix typos, "a" before "Integer" to "an". [Fix GH-1438] ------------------------------------------------------------------------ r56224 | nobu | 2016-09-24 10:19:43 +0900 (Sat, 24 Sep 2016) | 6 lines test_ruby_mode.rb: fix for Emacs 25.1 * test/misc/test_ruby_mode.rb (assert_indent): since write-region in Emacs 25.1 no longer displays the "Wrote file" message, shows the explicit message to check if successfully finished. [ruby-core:77355] [Bug #12785] ------------------------------------------------------------------------ r56223 | svn | 2016-09-24 10:18:35 +0900 (Sat, 24 Sep 2016) | 1 line * 2016-09-24 ------------------------------------------------------------------------ r56222 | nobu | 2016-09-24 10:18:34 +0900 (Sat, 24 Sep 2016) | 7 lines test_ruby_mode.rb: save-buffer 0 * test/misc/test_ruby_mode.rb (EXPR_SAVE): use a numeric prefix argument of 0, not to make the previous version into a backup file, instead of backup-inhibited. * test/misc/test_ruby_mode.rb (run_emacs): always save the buffer if modified. ------------------------------------------------------------------------ r56221 | shugo | 2016-09-23 23:59:26 +0900 (Fri, 23 Sep 2016) | 1 line * vm_method.c (make_method_entry_refined): fix wrong use of ||. ------------------------------------------------------------------------ r56220 | nobu | 2016-09-23 23:18:41 +0900 (Fri, 23 Sep 2016) | 4 lines zlib: no checks [ci skip] * ext/zlib/extconf.rb: no feature checks when building zlib from the source, assume it is recent. ------------------------------------------------------------------------ r56219 | nobu | 2016-09-23 23:18:39 +0900 (Fri, 23 Sep 2016) | 3 lines zlib: fix directory [ci skip] * ext/zlib/extconf.rb: fix directory to install zlib library. ------------------------------------------------------------------------ r56218 | knu | 2016-09-23 21:40:16 +0900 (Fri, 23 Sep 2016) | 1 line Add support for the `Lk` macro to tool/mdoc2man.rb ------------------------------------------------------------------------ r56217 | nobu | 2016-09-23 21:16:00 +0900 (Fri, 23 Sep 2016) | 1 line forwardable.rb: remove debug print ------------------------------------------------------------------------ r56216 | shugo | 2016-09-23 21:08:00 +0900 (Fri, 23 Sep 2016) | 1 line Remove a garbage file. ------------------------------------------------------------------------ r56215 | svn | 2016-09-23 20:46:34 +0900 (Fri, 23 Sep 2016) | 1 line * properties. ------------------------------------------------------------------------ r56214 | svn | 2016-09-23 20:46:34 +0900 (Fri, 23 Sep 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56213 | shugo | 2016-09-23 20:46:33 +0900 (Fri, 23 Sep 2016) | 2 lines * eval.c (rb_mod_refine): refine modules as well. [ruby-core:76199] [Feature #12534] ------------------------------------------------------------------------ r56212 | knu | 2016-09-23 20:21:55 +0900 (Fri, 23 Sep 2016) | 4 lines Update the paragraphs in "Rich Libraries" which included a dead link * man/ruby.1: Update the paragraphs in "Rich Libraries" which included a dead link. ------------------------------------------------------------------------ r56211 | knu | 2016-09-23 20:21:52 +0900 (Fri, 23 Sep 2016) | 5 lines Use the `Lk` macro for hyperlinks * man/ruby.1, man/erb.1, man/irb.1, man/ri.1: Use the `Lk` macro for hyperlinks, which has been available since mdocml 1.5.1 (released more than seven years ago). ------------------------------------------------------------------------ r56210 | nobu | 2016-09-23 15:47:06 +0900 (Fri, 23 Sep 2016) | 4 lines forwardable.rb: private methods * lib/forwardable.rb (_delegator_method): allow private methods to be delegated, with warnings. [ruby-core:77341] [Bug #12782] ------------------------------------------------------------------------ r56209 | nobu | 2016-09-23 14:27:38 +0900 (Fri, 23 Sep 2016) | 4 lines test_fileutils.rb: use Dir.mktmpdir * test/fileutils/test_fileutils.rb: use Dir.mktmpdir instead of fixed name for temporary directory. ------------------------------------------------------------------------ r56208 | nobu | 2016-09-23 12:15:31 +0900 (Fri, 23 Sep 2016) | 4 lines compile.c: tailcall in conditinal block * compile.c (iseq_peephole_optimize): enable tail call optimization inside a conditional block. ------------------------------------------------------------------------ r56207 | svn | 2016-09-23 10:32:56 +0900 (Fri, 23 Sep 2016) | 1 line * 2016-09-23 ------------------------------------------------------------------------ r56206 | nobu | 2016-09-23 10:32:55 +0900 (Fri, 23 Sep 2016) | 3 lines ignore all versions [ci skip] .gitignore: ignore all versions of unicode data. ------------------------------------------------------------------------ r56205 | kazu | 2016-09-22 23:05:48 +0900 (Thu, 22 Sep 2016) | 1 line sync with svn:ignore. see r56105 [ci skip] ------------------------------------------------------------------------ r56204 | nobu | 2016-09-22 15:35:28 +0900 (Thu, 22 Sep 2016) | 4 lines zlib: try zlib source * ext/zlib/extconf.rb: try building zlib from the source if exists. ------------------------------------------------------------------------ r56203 | nobu | 2016-09-22 15:35:27 +0900 (Thu, 22 Sep 2016) | 7 lines dlntest.dll: move * ext/-test-/win32/dln/{depend,extconf.rb} (dlntest.dll): make under the extension directory, instead of the top directory. * test/-ext-/win32/test_dln.rb (test_check_imported): explicit PATH environment variable to load the DLL. ------------------------------------------------------------------------ r56202 | svn | 2016-09-22 13:06:54 +0900 (Thu, 22 Sep 2016) | 1 line * 2016-09-22 ------------------------------------------------------------------------ r56201 | kazu | 2016-09-22 13:06:53 +0900 (Thu, 22 Sep 2016) | 4 lines gc.c: fix rdoc of garbage_collect [ci skip] * gc.c (gc_start_internal): [DOC] methods without arguments like r56194. [Bug #12777] ------------------------------------------------------------------------ r56200 | naruse | 2016-09-21 17:46:06 +0900 (Wed, 21 Sep 2016) | 3 lines * process.c (InitVM_process): Support CLOCK_MONOTONIC_RAW_APPROX, CLOCK_UPTIME_RAW, and CLOCK_UPTIME_RAW_APPROX which are introduced by macOS 10.12. ------------------------------------------------------------------------ r56199 | nobu | 2016-09-21 13:47:35 +0900 (Wed, 21 Sep 2016) | 5 lines parse.y: preserve cmdarg_stack * parse.y (brace_body, do_body): preserve cmdarg_stack so that `do` after cmdarg in a block should be `do_block` and bound to the outer method. [ruby-core:72482] [Bug #11873] ------------------------------------------------------------------------ r56198 | nobu | 2016-09-21 13:38:46 +0900 (Wed, 21 Sep 2016) | 4 lines parse.y: do after cmdarg in paren * parse.y: `do` after cmdarg in parentheses should be `do_block` and bound to the outer method. [ruby-core:72482] [Bug #11873] ------------------------------------------------------------------------ r56197 | nobu | 2016-09-21 13:36:32 +0900 (Wed, 21 Sep 2016) | 4 lines parse.y: remove spaces [ci skip] * parse.y (cmd_brace_block, do_block): remove spaces before tab in indent. ------------------------------------------------------------------------ r56196 | svn | 2016-09-21 13:32:04 +0900 (Wed, 21 Sep 2016) | 1 line * 2016-09-21 ------------------------------------------------------------------------ r56195 | nobu | 2016-09-21 13:32:03 +0900 (Wed, 21 Sep 2016) | 3 lines parse.y: block bodies * parse.y (brace_body, do_body): extract block bodies. ------------------------------------------------------------------------ r56194 | nobu | 2016-09-20 23:02:53 +0900 (Tue, 20 Sep 2016) | 4 lines gc.c: fix rdoc of garbage_collect [ci skip] * gc.c (gc_start_internal): [DOC] add ObjectSpace.garbage_collect and fix GC#garbage_collect. [Bug #12777] ------------------------------------------------------------------------ r56193 | kazu | 2016-09-20 21:25:36 +0900 (Tue, 20 Sep 2016) | 1 line * doc/extension.ja.rdoc: translate r56189 (rb_gc_adjust_memory_usage). [ci skip] ------------------------------------------------------------------------ r56192 | akr | 2016-09-20 20:12:38 +0900 (Tue, 20 Sep 2016) | 2 lines describe "0.class == Integer" to detect the feature. ------------------------------------------------------------------------ r56191 | hsbt | 2016-09-20 17:52:31 +0900 (Tue, 20 Sep 2016) | 1 line * gems/bundled_gems: Update rake-11.3.0 ------------------------------------------------------------------------ r56190 | svn | 2016-09-20 16:52:26 +0900 (Tue, 20 Sep 2016) | 1 line * 2016-09-20 ------------------------------------------------------------------------ r56189 | nobu | 2016-09-20 16:52:25 +0900 (Tue, 20 Sep 2016) | 4 lines gc.c: rb_gc_adjust_memory_usage * gc.c (rb_gc_adjust_memory_usage): notify memory usage to the GC engine by extension libraries, to trigger GC. [Feature #12690] ------------------------------------------------------------------------ r56188 | nobu | 2016-09-19 17:21:16 +0900 (Mon, 19 Sep 2016) | 3 lines bundled_gems: minitest certificate expired * gems/bundled_gems: certificate of minitest-5.9.0 has expired. ------------------------------------------------------------------------ r56187 | nobu | 2016-09-19 17:05:26 +0900 (Mon, 19 Sep 2016) | 5 lines deprecate Fixnum and Bignum * numeric.c (Init_Numeric), bignum.c (Init_Bignum): deprecate Fixnum and Bignum. this may be reverted after previews. [Feature #12739] ------------------------------------------------------------------------ r56186 | svn | 2016-09-19 10:36:57 +0900 (Mon, 19 Sep 2016) | 1 line * 2016-09-19 ------------------------------------------------------------------------ r56185 | nobu | 2016-09-19 10:36:56 +0900 (Mon, 19 Sep 2016) | 6 lines enumerator.c: lazy enum improvement * enumerator.c (lazy_init_yielder): directly call stored functions. [Feature #6183] * enumerator.c (lazy_add_method): create lazy enumerator which uses lazy_init_yielder(). ------------------------------------------------------------------------ r56184 | kou | 2016-09-18 22:51:57 +0900 (Sun, 18 Sep 2016) | 4 lines * lib/rss/rss.rb (RSS::BaseModel): Remove needless codes. [Bug #12773][ruby-dev:49813] Reported by Kazuhiro NISHIYAMA. Thanks!!! ------------------------------------------------------------------------ r56183 | kazu | 2016-09-18 19:24:48 +0900 (Sun, 18 Sep 2016) | 1 line * lib/sync.rb: Fix NameError when error. ------------------------------------------------------------------------ r56182 | nobu | 2016-09-18 14:23:12 +0900 (Sun, 18 Sep 2016) | 1 line common.mk: use EXTOUT to benchmark [ci skip] ------------------------------------------------------------------------ r56181 | svn | 2016-09-18 14:21:06 +0900 (Sun, 18 Sep 2016) | 1 line * 2016-09-18 ------------------------------------------------------------------------ r56180 | nobu | 2016-09-18 14:21:05 +0900 (Sun, 18 Sep 2016) | 6 lines mkmf.rb: fix for bundled gems * lib/mkmf.rb (install_dirs): enable extout in RUBYARCHDIR only when extmk. * lib/mkmf.rb (create_makefile): ditto for TIMESTAMP_DIR. ------------------------------------------------------------------------ r56179 | hsbt | 2016-09-17 22:46:07 +0900 (Sat, 17 Sep 2016) | 2 lines * vm_insnhelper.c (vm_throw_start): Remove too much ";" [fix GH-1432] ------------------------------------------------------------------------ r56178 | rhe | 2016-09-17 19:19:25 +0900 (Sat, 17 Sep 2016) | 5 lines openssl: really fix test failure on Ubuntu 16.04 * test/openssl/test_ssl.rb (test_ctx_options): Fix test failure on Ubuntu 16.04. The fix in r56147 was incomplete. This is a cherry-pick of the commit b039f3e268c2 at ruby/openssl. ------------------------------------------------------------------------ r56177 | nobu | 2016-09-17 18:22:26 +0900 (Sat, 17 Sep 2016) | 4 lines objspace_dump.c: dc is no longer used [ci skip] * ext/objspace/objspace_dump.c (heap_i): remove no longer used variable. ------------------------------------------------------------------------ r56176 | kazu | 2016-09-17 10:51:22 +0900 (Sat, 17 Sep 2016) | 1 line * doc/extension.ja.rdoc: translate r56130 (rb_check_arity). [ci skip] ------------------------------------------------------------------------ r56175 | svn | 2016-09-17 02:44:46 +0900 (Sat, 17 Sep 2016) | 1 line * 2016-09-17 ------------------------------------------------------------------------ r56174 | tenderlove | 2016-09-17 02:44:45 +0900 (Sat, 17 Sep 2016) | 5 lines Use JSON lines format for full heap dumps. This commit changes full heap dumps back to using JSON lines format (http://jsonlines.org) so that we can process very large heaps without loading the entire heap in to memory at once. ------------------------------------------------------------------------ r56173 | ngoto | 2016-09-16 22:11:28 +0900 (Fri, 16 Sep 2016) | 5 lines * ext/openssl/ossl_ssl.c (ssl_npn_select_cb_common): Fix compile error with old version of fcc (Fujitsu C Compiler) on Solaris 10. [Bug #12769] [ruby-dev:49809] ------------------------------------------------------------------------ r56172 | ngoto | 2016-09-16 21:29:42 +0900 (Fri, 16 Sep 2016) | 7 lines * internal.h (MAYBE_UNUSED): The fallback definition is needed. Fix compile error with some non-GCC compilers such as Oracle Solaris Studio 12.3 on Solaris 10. [Bug #12767] [ruby-dev:49807] * internal.h (WARN_UNUSED_RESULT): ditto. ------------------------------------------------------------------------ r56171 | ngoto | 2016-09-16 21:20:35 +0900 (Fri, 16 Sep 2016) | 3 lines * hash.c (each_pair_i_fast): Fix compile error with old version of fcc on Solaris 10. [Bug #12768] [ruby-dev:49808] ------------------------------------------------------------------------ r56170 | usa | 2016-09-16 19:47:54 +0900 (Fri, 16 Sep 2016) | 3 lines * win32/Makefile.sub (config.h): fixed compile error with VC introduced by previous commit. ------------------------------------------------------------------------ r56169 | shyouhei | 2016-09-16 15:15:55 +0900 (Fri, 16 Sep 2016) | 39 lines * internal.h (WARN_UNUSED_RESULT): moved to configure.in, to actually check its availability rather to check GCC's version. * configure.in (WARN_UNUSED_RESULT): moved to here. * configure.in (RUBY_FUNC_ATTRIBUTE): change function declaration to return int rather than void, because it makes no sense for a warn_unused_result attributed function to return void. Funny thing however is that it also makes no sense for noreturn attributed function to return int. So there is a fundamental conflict between them. While I tested this, I confirmed both GCC 6 and Clang 3.8 prefers int over void to correctly detect necessary attributes under this setup. Maybe subject to change in future. * internal.h (UNINITIALIZED_VAR): renamed to MAYBE_UNUSED, then moved to configure.in for the same reason we move WARN_UNUSED_RESULT. * configure.in (MAYBE_UNUSED): moved to here. * internal.h (__has_attribute): deleted, because it has no use now. * string.c (rb_str_enumerate_lines): refactor macro rename. * string.c (rb_str_enumerate_bytes): ditto. * string.c (rb_str_enumerate_chars): ditto. * string.c (rb_str_enumerate_codepoints): ditto. * thread.c (do_select): ditto. * vm_backtrace.c (rb_debug_inspector_open): ditto. * vsnprintf.c (BSD_vfprintf): ditto. ------------------------------------------------------------------------ r56168 | shyouhei | 2016-09-16 15:15:00 +0900 (Fri, 16 Sep 2016) | 4 lines * ChangeLog (add-log-time-format): Not exactly sure when but recently (25.x maybe), emacs changed its API to take optional two arguments. We have to follow that. ------------------------------------------------------------------------ r56167 | svn | 2016-09-16 06:44:57 +0900 (Fri, 16 Sep 2016) | 1 line * 2016-09-16 ------------------------------------------------------------------------ r56166 | tenderlove | 2016-09-16 06:44:56 +0900 (Fri, 16 Sep 2016) | 5 lines Don't include bad password in URI exception output We shouldn't include the bad password in the URI exception output message. Just knowing that there is a bad password is enough information. ------------------------------------------------------------------------ r56165 | kazu | 2016-09-15 21:41:07 +0900 (Thu, 15 Sep 2016) | 1 line * doc/extension.ja.rdoc: Fix file name. [ci skip] ------------------------------------------------------------------------ r56164 | naruse | 2016-09-15 01:03:28 +0900 (Thu, 15 Sep 2016) | 1 line Add $(srcdir) for lib directory ------------------------------------------------------------------------ r56163 | svn | 2016-09-15 01:00:57 +0900 (Thu, 15 Sep 2016) | 1 line * 2016-09-15 ------------------------------------------------------------------------ r56162 | svn | 2016-09-15 01:00:57 +0900 (Thu, 15 Sep 2016) | 1 line * properties. ------------------------------------------------------------------------ r56161 | naruse | 2016-09-15 01:00:55 +0900 (Thu, 15 Sep 2016) | 1 line * benchmark/: add vnmakarov's benchmarks around hash [ruby-core:75265] ------------------------------------------------------------------------ r56160 | sho-h | 2016-09-14 21:52:00 +0900 (Wed, 14 Sep 2016) | 2 lines * .document: [DOC] add rbconfig. [ci skip] ------------------------------------------------------------------------ r56159 | svn | 2016-09-14 07:22:15 +0900 (Wed, 14 Sep 2016) | 1 line * 2016-09-14 ------------------------------------------------------------------------ r56158 | naruse | 2016-09-14 07:22:14 +0900 (Wed, 14 Sep 2016) | 1 line * hash.c (each_pair_i_fast): use rb_yield_values2 to avoid var args. ------------------------------------------------------------------------ r56157 | rhe | 2016-09-13 21:33:16 +0900 (Tue, 13 Sep 2016) | 28 lines string.c: avoid signed integer overflow The behavior on signed integer overflow is undefined. On platform with sizeof(long)==4, it's fairly easy that 'len + termlen' overflows, where len is the string length and termlen is the terminator length. So, prevent the integer overflow by avoiding adding to a string length, or casting to size_t before adding where the total size is passed to {RE,}ALLOC*(). * string.c (STR_HEAP_SIZE, RESIZE_CAPA_TERM, str_new0, rb_str_buf_new, str_shared_replace, rb_str_init, str_make_independent_expand, rb_str_resize): Avoid overflow by casting the length to size_t. size_t should be able to represent LONG_MAX+termlen. * string.c (rb_str_modify_expand): Check that the new length is in the range of long before resizing. Also refactor to use RESIZE_CAPA_TERM macro. * string.c (str_buf_cat): Fix so that it does not create a negative length String. Also fix the condition for 'string sizes too big', the total length can be up to LONG_MAX. * string.c (rb_str_plus): Check the resulting String length does not exceed LONG_MAX. * string.c (rb_str_dump): Fix integer overflow. The dump result will be longer then the original String. ------------------------------------------------------------------------ r56156 | rhe | 2016-09-13 21:33:13 +0900 (Tue, 13 Sep 2016) | 22 lines Use PRIuSIZE format specifier for size_t values Use PRIuSIZE instead of PRIdSIZE. This fixes the exception message shown on too large xmalloc2. This commit also fixes other incorrect use of PRIdSIZE in other functions; though most of them are debug print. * gc.c (heap_extend_pages, get_envparam_size, ruby_malloc_size_overflow, gc_profile_dump_on): Use PRIuSIZE instead of PRIdSIZE as the passed value is size_t, not ssize_t. * iseq.c (get_line_info, rb_iseq_disasm_insn): Ditto. * sprintf.c (rb_str_format): Ditto. * thread_win32.c (native_thread_create): Ditto. * vm.c (get_param): Ditto. * ext/objspace/objspace_dump.c (dump_append_string_content, dump_object): Ditto. * ext/socket/raddrinfo.c (host_str, port_str): Ditto. ------------------------------------------------------------------------ r56155 | rhe | 2016-09-13 21:28:54 +0900 (Tue, 13 Sep 2016) | 4 lines string.c: rename STR_EMBEDABLE_P to STR_EMBEDDABLE_P * string.c (STR_EMBEDDABLE_P): Renamed from STR_EMBEDABLE_P(). And use it in more places. ------------------------------------------------------------------------ r56154 | kazu | 2016-09-13 21:26:04 +0900 (Tue, 13 Sep 2016) | 1 line README{,.ja}.md: Drop support for BeOS now that Haiku is stable since 2.3.0. [ci skip] ------------------------------------------------------------------------ r56153 | kazu | 2016-09-13 21:26:03 +0900 (Tue, 13 Sep 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r56152 | kazu | 2016-09-13 21:26:01 +0900 (Tue, 13 Sep 2016) | 1 line fix unbalanced backquote [ci skip] ------------------------------------------------------------------------ r56151 | nobu | 2016-09-13 21:11:57 +0900 (Tue, 13 Sep 2016) | 5 lines string.c: STR_EMBEDABLE_P * string.c (STR_EMBEDABLE_P): extract the predicate macro to tell if the given length is capable in an embedded string, and fix possible integer overflow. ------------------------------------------------------------------------ r56150 | ko1 | 2016-09-13 18:39:08 +0900 (Tue, 13 Sep 2016) | 4 lines * test/ruby/test_exception.rb: fix thread issues. * use Queue instead of a local variable for synchronization. * join created thread to soleve leaking threads warning. ------------------------------------------------------------------------ r56149 | nobu | 2016-09-13 17:12:54 +0900 (Tue, 13 Sep 2016) | 5 lines string.c: fix integer overflow * string.c (rb_str_change_terminator_length): fix integer overflow in the case growing the terminator length and the string length is around LONG_MAX. ------------------------------------------------------------------------ r56148 | rhe | 2016-09-13 16:08:15 +0900 (Tue, 13 Sep 2016) | 9 lines string.c: fix buffer overflow check condition in rb_str_set_len() * string.c (rb_str_set_len): The buffer overflow check is wrong. The space for termlen is allocated outside the capacity returned by rb_str_capacity(). This fixes r41920 ("string.c: multi-byte terminator", 2013-07-11). [ruby-core:77257] [Bug #12757] * test/-ext-/string/test_set_len.rb (test_capacity_equals_to_new_size): Test for this change. Applying only the test will trigger [BUG]. ------------------------------------------------------------------------ r56147 | rhe | 2016-09-13 14:59:53 +0900 (Tue, 13 Sep 2016) | 7 lines openssl: workaround for Ubuntu's patched OpenSSL * test/openssl/test_ssl.rb (test_ctx_options): Add a workaround for patched OpenSSL to fix the Ruby CI failure on Ubuntu 16.04. http://rubyci.s3.amazonaws.com/ubuntu/ruby-trunk/log/20160913T033003Z.fail.html.gz This commit is a cherry-pick of the following commit at ruby/openssl: https://github.com/ruby/openssl/commit/f9c04779a84b45d85dc26dc19ea600d0613539e2 ------------------------------------------------------------------------ r56146 | naruse | 2016-09-13 06:04:25 +0900 (Tue, 13 Sep 2016) | 1 line * common.mk (benchmark): fix lib path. ------------------------------------------------------------------------ r56145 | svn | 2016-09-13 00:40:10 +0900 (Tue, 13 Sep 2016) | 1 line * properties. ------------------------------------------------------------------------ r56144 | tenderlove | 2016-09-13 00:40:09 +0900 (Tue, 13 Sep 2016) | 28 lines Copy the serial number from the super class to the singleton class This helps hit inline method caches more frequently. Before this commit: ``` [aaron@TC ruby (trunk)]$ time ./ruby -v benchmark/bm_vm2_poly_singleton.rb ruby 2.4.0dev (2016-09-12 trunk 56141) [x86_64-darwin15] real 0m3.679s user 0m3.632s sys 0m0.022s ``` After this commit: ``` [aaron@TC ruby (trunk)]$ time ./ruby -v benchmark/bm_vm2_poly_singleton.rb ruby 2.4.0dev (2016-09-12 trunk 56141) [x86_64-darwin15] last_commit=Copy the serial number from the super class to the singleton class real 0m2.246s user 0m2.203s sys 0m0.020s ``` [Feature #12364] [ruby-core:75425] ------------------------------------------------------------------------ r56143 | svn | 2016-09-13 00:16:10 +0900 (Tue, 13 Sep 2016) | 1 line * 2016-09-13 ------------------------------------------------------------------------ r56142 | usa | 2016-09-13 00:16:09 +0900 (Tue, 13 Sep 2016) | 2 lines * time.c (time_arg): guard for mswin64 CI. ------------------------------------------------------------------------ r56141 | hsbt | 2016-09-12 13:48:05 +0900 (Mon, 12 Sep 2016) | 1 line Added missing references of github and redmine. ------------------------------------------------------------------------ r56140 | svn | 2016-09-12 13:46:28 +0900 (Mon, 12 Sep 2016) | 1 line * 2016-09-12 ------------------------------------------------------------------------ r56139 | hsbt | 2016-09-12 13:46:27 +0900 (Mon, 12 Sep 2016) | 3 lines * lib/uri/mailto.rb: Removed needless `return` and use `.`` instead of `::` with class method. * test/uri/test_mailto.rb: Added tests for coverage. ------------------------------------------------------------------------ r56138 | kazu | 2016-09-11 21:33:46 +0900 (Sun, 11 Sep 2016) | 1 line NEWS: News about Module.used_modules. ------------------------------------------------------------------------ r56137 | kazu | 2016-09-11 21:32:27 +0900 (Sun, 11 Sep 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r56136 | kazu | 2016-09-11 19:34:56 +0900 (Sun, 11 Sep 2016) | 1 line Update URL of Japanese document of net/pop ------------------------------------------------------------------------ r56135 | kazu | 2016-09-11 19:33:36 +0900 (Sun, 11 Sep 2016) | 1 line Use https instead of http in some URLs ------------------------------------------------------------------------ r56134 | usa | 2016-09-11 19:17:43 +0900 (Sun, 11 Sep 2016) | 2 lines * ChangeLog: added refs. [Bug #12748] [ruby-dev:49786] ------------------------------------------------------------------------ r56133 | svn | 2016-09-11 19:08:02 +0900 (Sun, 11 Sep 2016) | 1 line * 2016-09-11 ------------------------------------------------------------------------ r56132 | usa | 2016-09-11 19:08:01 +0900 (Sun, 11 Sep 2016) | 4 lines * win32/win32.c (rb_w32_write_console): should set writen length as the return value. ------------------------------------------------------------------------ r56131 | svn | 2016-09-10 17:16:51 +0900 (Sat, 10 Sep 2016) | 1 line * 2016-09-10 ------------------------------------------------------------------------ r56130 | nobu | 2016-09-10 17:16:50 +0900 (Sat, 10 Sep 2016) | 3 lines extension.rdoc: rb_check_arity [ci skip] * doc/extension.rdoc (rb_check_arity): described. ------------------------------------------------------------------------ r56127 | kazu | 2016-09-09 22:44:15 +0900 (Fri, 09 Sep 2016) | 1 line * gems/bundled_gems: sort lines. ------------------------------------------------------------------------ r56126 | nobu | 2016-09-09 18:27:38 +0900 (Fri, 09 Sep 2016) | 4 lines json_generator_test.rb: no Bignum * test/json/json_generator_test.rb (test_broken_bignum): get rid of use of Bignum, obsolete name. ------------------------------------------------------------------------ r56125 | nobu | 2016-09-09 17:59:48 +0900 (Fri, 09 Sep 2016) | 5 lines thread.c: set cause by Thread#raise * thread.c (rb_threadptr_raise): set cause from the called thread, but not from the thread to be interrupted. [ruby-core:77222] [Bug #12741] ------------------------------------------------------------------------ r56124 | nobu | 2016-09-09 13:50:07 +0900 (Fri, 09 Sep 2016) | 4 lines fix file names [ci skip] * doc/extension.rdoc, doc/extension.ja.rdoc: fix file name. pointed out by @takkanm in the RubyKaigi talk. ------------------------------------------------------------------------ r56123 | duerst | 2016-09-09 13:14:55 +0900 (Fri, 09 Sep 2016) | 2 lines * News: Announcing update to Unicode version 9.0.0 [ci skip] ------------------------------------------------------------------------ r56120 | nobu | 2016-09-09 12:02:23 +0900 (Fri, 09 Sep 2016) | 4 lines object.c: update rdoc * object.c (InitVM_Object): update rdoc of NIL/TRUE/FALSE, and use rb_deprecate_constant. ------------------------------------------------------------------------ r56119 | nobu | 2016-09-09 12:02:22 +0900 (Fri, 09 Sep 2016) | 4 lines variable.c: rb_deprecate_constant * variable.c (rb_deprecate_constant): new function to deprecate a constant by the name. ------------------------------------------------------------------------ r56118 | nobu | 2016-09-09 10:10:01 +0900 (Fri, 09 Sep 2016) | 4 lines variable.c: fix deprecated constant message * variable.c (rb_const_search): warn with the actual class/module name which defines the deprecated constant. ------------------------------------------------------------------------ r56117 | nobu | 2016-09-09 10:07:41 +0900 (Fri, 09 Sep 2016) | 4 lines variable.c: fix private constant message * variable.c (rb_const_search): raise with the actual class/module name which defines the private constant. ------------------------------------------------------------------------ r56116 | svn | 2016-09-09 09:49:06 +0900 (Fri, 09 Sep 2016) | 1 line * 2016-09-09 ------------------------------------------------------------------------ r56115 | nobu | 2016-09-09 09:49:05 +0900 (Fri, 09 Sep 2016) | 4 lines e2mmap.rb: remove legacy code * lib/e2mmap.rb (Exception2MessageMapper::E2MM.def_exception): remove legacy code. Symbol is no longer a number already. ------------------------------------------------------------------------ r56112 | nobu | 2016-09-08 17:59:00 +0900 (Thu, 08 Sep 2016) | 4 lines io.c: check if Integer * io.c (rb_file_initialize): check if fd is an Integer but not a Fixnum. ------------------------------------------------------------------------ r56111 | ktsj | 2016-09-08 17:56:30 +0900 (Thu, 08 Sep 2016) | 3 lines * array.c (flatten): use rb_obj_class instead of rb_class_of because rb_class_of may return a singleton class. [ruby-dev:49781] [Bug #12738] ------------------------------------------------------------------------ r56110 | nobu | 2016-09-08 17:40:16 +0900 (Thu, 08 Sep 2016) | 4 lines rbinstall.rb: gem bindir * tool/rbinstall.rb (gem): use the bindir of each gemspec instead of hardcoded 'bin', since rdoc 5.0.0 overrides it. ------------------------------------------------------------------------ r56109 | shugo | 2016-09-08 16:49:02 +0900 (Thu, 08 Sep 2016) | 2 lines * eval.c (rb_mod_s_used_modules): rename Module.used_refinements to Module.used_modules. [Feature #7418] [ruby-core:49805] ------------------------------------------------------------------------ r56107 | naruse | 2016-09-08 14:45:09 +0900 (Thu, 08 Sep 2016) | 1 line Unbundle tk ------------------------------------------------------------------------ r56105 | kazu | 2016-09-08 14:35:34 +0900 (Thu, 08 Sep 2016) | 5 lines Update svn:ignore [ci skip] * enc/unicode/data/9.0.0 (svn:ignore): ignore downloaded files. see r55716 for 8.0.0. ------------------------------------------------------------------------ r56104 | hsbt | 2016-09-08 14:33:59 +0900 (Thu, 08 Sep 2016) | 3 lines * ext/psych/psych.gemspec, lib/rdoc/rdoc.gemspec: Use file list instead of git output. It shows warning message when invoke `make install` [Bug #12736][ruby-dev:49778] ------------------------------------------------------------------------ r56102 | akr | 2016-09-08 13:57:49 +0900 (Thu, 08 Sep 2016) | 2 lines replace fixnum by integer in documents. ------------------------------------------------------------------------ r56101 | shugo | 2016-09-08 13:44:51 +0900 (Thu, 08 Sep 2016) | 2 lines * insns.def (setclassvariable, setconstant): warn when self is a refinement. [Bug #10103] [ruby-core:64143] ------------------------------------------------------------------------ r56100 | mrkn | 2016-09-08 11:34:54 +0900 (Thu, 08 Sep 2016) | 1 line NEWS: Add Hash#transform_values ------------------------------------------------------------------------ r56099 | mrkn | 2016-09-08 11:33:18 +0900 (Thu, 08 Sep 2016) | 7 lines hash.c: map_v -> transform_values * hash.c (rb_hash_transform_values, rb_hash_transform_values_bang): Rename map_v to transform_values. [Feature #12512] [ruby-core:76095] * test/ruby/test_hash.rb: ditto. ------------------------------------------------------------------------ r56098 | rhe | 2016-09-08 10:09:19 +0900 (Thu, 08 Sep 2016) | 5 lines openssl: import v2.0.0.beta.2 * {ext,test}/openssl: Import Ruby/OpenSSL 2.0.0.beta.2. The full commit history since v2.0.0.beta.1 can be found at: https://github.com/ruby/openssl/compare/v2.0.0.beta.1...v2.0.0.beta.2 ------------------------------------------------------------------------ r56097 | hsbt | 2016-09-08 07:23:38 +0900 (Thu, 08 Sep 2016) | 3 lines * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta2 Fixed ri parse defect with left-hand matched classes. https://github.com/rdoc/rdoc/pull/420 ------------------------------------------------------------------------ r56096 | svn | 2016-09-08 01:15:46 +0900 (Thu, 08 Sep 2016) | 1 line * 2016-09-08 ------------------------------------------------------------------------ r56095 | svn | 2016-09-08 01:15:46 +0900 (Thu, 08 Sep 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56094 | shugo | 2016-09-08 01:15:45 +0900 (Thu, 08 Sep 2016) | 3 lines * eval.c (rb_mod_s_used_refinements): new method Module.used_refinements. based on the patch by Charlie Somerville. [Feature #7418] [ruby-core:49805] ------------------------------------------------------------------------ r56093 | kazu | 2016-09-07 21:32:04 +0900 (Wed, 07 Sep 2016) | 1 line Use our domain instead of other's domain ------------------------------------------------------------------------ r56092 | kazu | 2016-09-07 21:32:02 +0900 (Wed, 07 Sep 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r56091 | nobu | 2016-09-07 17:50:39 +0900 (Wed, 07 Sep 2016) | 4 lines util.h: POSIX-noncompliant setenv * include/ruby/util.h (setenv): remove POSIX-noncompliant definition with 2 arguments. ------------------------------------------------------------------------ r56090 | duerst | 2016-09-07 17:35:39 +0900 (Wed, 07 Sep 2016) | 3 lines * unicode/8.0.0/casefold.h, name2ctype.h, unicode/data/8.0.0: removing directories/files related to Unicode version 8.0.0 ------------------------------------------------------------------------ r56089 | nobu | 2016-09-07 17:21:56 +0900 (Wed, 07 Sep 2016) | 4 lines timeout.rb: custom error message * lib/timeout.rb (Timeout#timeout): add custom error message argument. [Feature #11650] ------------------------------------------------------------------------ r56088 | svn | 2016-09-07 17:13:09 +0900 (Wed, 07 Sep 2016) | 1 line * properties. ------------------------------------------------------------------------ r56087 | duerst | 2016-09-07 17:13:08 +0900 (Wed, 07 Sep 2016) | 4 lines * common.mk: Updated Unicode version to 9.0.0 [Feature #12513] * unicode/9.0.0/casefold.h, name2ctype.h, unicode/data/9.0.0: new directories/files for Unicode version 9.0.0 ------------------------------------------------------------------------ r56086 | nobu | 2016-09-07 16:35:45 +0900 (Wed, 07 Sep 2016) | 4 lines class.c: instance method conditions * class.c (ins_methods_i, ins_methods_prot_i, ins_methods_priv_i), (ins_methods_pub_i): check for each conditions to match. ------------------------------------------------------------------------ r56085 | akr | 2016-09-07 16:14:30 +0900 (Wed, 07 Sep 2016) | 7 lines lib/open-uri.rb: Allow http to https redirection. * lib/open-uri.rb: Allow http to https redirection. Note that https to http is still forbidden. [ruby-core:20485] [Feature #859] by Roman Shterenzon. ------------------------------------------------------------------------ r56084 | ktsj | 2016-09-07 16:02:36 +0900 (Wed, 07 Sep 2016) | 1 line * ChangeLog: fix ticket number. ------------------------------------------------------------------------ r56083 | ktsj | 2016-09-07 15:06:09 +0900 (Wed, 07 Sep 2016) | 6 lines * lib/csv.rb (CSV::{Row,Table}#{each,delete_if}): returns an enumerator if no block is given. [ruby-core:75346] [Feature #11058] * test/csv/test_row.rb: add test for above. * test/csv/test_table.rb: ditto. ------------------------------------------------------------------------ r56082 | ktsj | 2016-09-07 14:54:11 +0900 (Wed, 07 Sep 2016) | 1 line * gems/bundled_gems: update to power_assert 0.3.1. ------------------------------------------------------------------------ r56081 | hsbt | 2016-09-07 12:16:15 +0900 (Wed, 07 Sep 2016) | 4 lines * ext/psych/*, test/psych/*: Update psych-2.1.1 This version fixed following pull requests. https://github.com/tenderlove/psych/pull/284 https://github.com/tenderlove/psych/pull/276 ------------------------------------------------------------------------ r56080 | svn | 2016-09-07 11:51:13 +0900 (Wed, 07 Sep 2016) | 1 line * 2016-09-07 ------------------------------------------------------------------------ r56079 | hsbt | 2016-09-07 11:51:12 +0900 (Wed, 07 Sep 2016) | 3 lines * lib/rdoc/*, test/rdoc/*: Update rdoc-5.0.0.beta1 This version is mostly same as r56072. It contains to remove code for Ruby 1.8 ------------------------------------------------------------------------ r56078 | nobu | 2016-09-06 12:10:43 +0900 (Tue, 06 Sep 2016) | 4 lines socket/depend: add srcs [ci skip] * ext/socket/depend (srcs): phony target to update confdefs source files. ------------------------------------------------------------------------ r56077 | nobu | 2016-09-06 12:03:35 +0900 (Tue, 06 Sep 2016) | 4 lines common.mk: fix path arguments [ci skip] * common.mk (ext/date/zonetab.h): fix inverted relative path arguments. ------------------------------------------------------------------------ r56076 | usa | 2016-09-06 10:21:54 +0900 (Tue, 06 Sep 2016) | 3 lines * time.c (obj2subsecx): subsec might be GC'ed. try to get rid of SEGV on mswin CI. ------------------------------------------------------------------------ r56075 | svn | 2016-09-06 09:23:13 +0900 (Tue, 06 Sep 2016) | 1 line * 2016-09-06 ------------------------------------------------------------------------ r56074 | hsbt | 2016-09-06 09:23:12 +0900 (Tue, 06 Sep 2016) | 2 lines * lib/rdoc/rdoc.gemspec: partly reverted for default gem installer. upstream configuration is not working on ruby core repository. ------------------------------------------------------------------------ r56073 | svn | 2016-09-05 19:35:32 +0900 (Mon, 05 Sep 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56072 | hsbt | 2016-09-05 19:35:30 +0900 (Mon, 05 Sep 2016) | 3 lines * lib/rdoc/*, test/rdoc/*: Update rdoc/rdoc master(f191513) https://github.com/rdoc/rdoc/blob/master/History.rdoc#423--2016-- https://github.com/rdoc/rdoc/blob/master/History.rdoc#422--2016-02-09 ------------------------------------------------------------------------ r56071 | svn | 2016-09-05 09:58:24 +0900 (Mon, 05 Sep 2016) | 1 line * 2016-09-05 ------------------------------------------------------------------------ r56070 | nobu | 2016-09-05 09:58:23 +0900 (Mon, 05 Sep 2016) | 5 lines rbinstall.rb: install just one gemspec [ci skip] * tool/rbinstall.rb (gem): install gemspec match with the directory only. some gems, (e.g., json) have multiple gemspec files. ------------------------------------------------------------------------ r56069 | nobu | 2016-09-04 15:25:38 +0900 (Sun, 04 Sep 2016) | 4 lines rbinstall.rb: install iff expected platforms [ci skip] * tool/rbinstall.rb (gem): install only gemspecs for expected platforms. e.g., ignore json-java.gemspec in json gem. ------------------------------------------------------------------------ r56068 | nobu | 2016-09-04 15:15:58 +0900 (Sun, 04 Sep 2016) | 4 lines rbinstall.rb: chdir to gem directory [ci skip] * tool/rbinstall.rb (gem): load gemspec files under each directories, since some gemspecs read files there. ------------------------------------------------------------------------ r56067 | nobu | 2016-09-04 14:27:48 +0900 (Sun, 04 Sep 2016) | 4 lines extmk.rb: no ext, no build_complete * ext/extmk.rb (create_makefile): touch gem.build_complete only if building an extension library. ------------------------------------------------------------------------ r56066 | nobu | 2016-09-04 14:05:20 +0900 (Sun, 04 Sep 2016) | 4 lines extmk.rb: fix gem.build_complete location * ext/extmk.rb (timestamp_file): make build_complete file at the toplevel of the gem directory without target_prefix. ------------------------------------------------------------------------ r56065 | nobu | 2016-09-04 13:56:56 +0900 (Sun, 04 Sep 2016) | 4 lines extmk.rb: expand target_prefix * ext/extmk.rb (timestamp_file): should expand target_prefix in timestamp file name. ------------------------------------------------------------------------ r56064 | nobu | 2016-09-04 13:44:06 +0900 (Sun, 04 Sep 2016) | 4 lines extmk.rb: append target_prefix * ext/extmk.rb (timestamp_file, create_makefile): should append target_prefix as RUBYARCHDIR does. ------------------------------------------------------------------------ r56063 | svn | 2016-09-04 00:21:44 +0900 (Sun, 04 Sep 2016) | 1 line * 2016-09-04 ------------------------------------------------------------------------ r56062 | sho-h | 2016-09-04 00:21:43 +0900 (Sun, 04 Sep 2016) | 3 lines * proc.c: [DOC] fix Object#define_singleton_method and main.define_method return value. [ci skip] ------------------------------------------------------------------------ r56061 | svn | 2016-09-03 11:28:32 +0900 (Sat, 03 Sep 2016) | 1 line * 2016-09-03 ------------------------------------------------------------------------ r56060 | nobu | 2016-09-03 11:28:31 +0900 (Sat, 03 Sep 2016) | 5 lines thread_pthread.c: check stack on co-routine case * thread_pthread.c (ruby_init_stack): check stack bounds even if get_main_stack succeeded, on the "co-routine" case. https://github.com/ruby/ruby/commit/53953ee#commitcomment-18887413 ------------------------------------------------------------------------ r56059 | nobu | 2016-09-02 16:07:01 +0900 (Fri, 02 Sep 2016) | 4 lines internal.h: fix typos * internal.h (MEMO_V1_SET, MEMO_V2_SET): fix typos. use the macro parameter, not the local variable. ------------------------------------------------------------------------ r56058 | svn | 2016-09-02 00:55:14 +0900 (Fri, 02 Sep 2016) | 1 line * 2016-09-02 ------------------------------------------------------------------------ r56057 | nobu | 2016-09-02 00:55:13 +0900 (Fri, 02 Sep 2016) | 5 lines extmk.rb: fix conflict of timestamp files * ext/extmk.rb (timestamp_file): move extmk.rb specific tricks from lib/mkmf.rb. keep RUBYCOMMONDIR prefix not to conflict with a timestamp file in the toplevel. ------------------------------------------------------------------------ r56056 | nobu | 2016-09-01 16:02:32 +0900 (Thu, 01 Sep 2016) | 6 lines mkmf.rb: architecture timestamp directories * lib/mkmf.rb (timestamp_file): substitute TARGET_SO_DIR with RUBYARCHDIR seprately from other normal paths, to make timestamp files for architecture dependent directories separately. and remove RUBYCOMMONDIR prefix. ------------------------------------------------------------------------ r56055 | nobu | 2016-09-01 15:10:25 +0900 (Thu, 01 Sep 2016) | 5 lines rbinstall.rb: prefix with space [ci skip] * tool/rbinstall.rb (bin): exec via /bin/sh if the prefix contains space charaters, because shebang does not support that case in general. ------------------------------------------------------------------------ r56054 | nobu | 2016-09-01 14:54:25 +0900 (Thu, 01 Sep 2016) | 4 lines mkmf.rb: fix up r56053 * lib/mkmf.rb (timestamp_file): TARGET_SO_DIR is defaulted to RUBYARCHDIR but different for each extension libraries. ------------------------------------------------------------------------ r56053 | nobu | 2016-09-01 14:24:19 +0900 (Thu, 01 Sep 2016) | 5 lines extmk.rb: hacks for bundled gems * ext/extmk.rb (gems): move dirty hacks for bundled gems from mkmf.rb. * lib/mkmf.rb (create_makefile): yield all configuration strings. ------------------------------------------------------------------------ r56052 | svn | 2016-09-01 12:58:02 +0900 (Thu, 01 Sep 2016) | 1 line * 2016-09-01 ------------------------------------------------------------------------ r56051 | nobu | 2016-09-01 12:58:01 +0900 (Thu, 01 Sep 2016) | 6 lines no Borland make [ci skip] * ext/extmk.rb: remove Borland make support. Borland C++ has not been supported since years ago. * lib/mkmf.rb: ditto. ------------------------------------------------------------------------ r56050 | nobu | 2016-08-31 20:27:24 +0900 (Wed, 31 Aug 2016) | 4 lines mkmf.rb: fix up r56047 * lib/mkmf.rb (create_makefile): install to $(RUBYARCHDIR) other than bundled extension libraries. ------------------------------------------------------------------------ r56049 | nobu | 2016-08-31 20:20:45 +0900 (Wed, 31 Aug 2016) | 4 lines mkmf.rb: fix up r56047 * lib/mkmf.rb (create_makefile): TARGET_SO_DIR should not be the root directory when sodir is empty. ------------------------------------------------------------------------ r56048 | nobu | 2016-08-31 17:39:23 +0900 (Wed, 31 Aug 2016) | 5 lines extmk.rb: build_complete * ext/extmk.rb (create_makefile): make gem.build_complete file under TARGET_SO_DIR and install it only when the gem build succeeded. [ruby-core:77057] [Bug #12681] ------------------------------------------------------------------------ r56047 | nobu | 2016-08-31 15:36:12 +0900 (Wed, 31 Aug 2016) | 6 lines mkmf.rb: TARGET_SO_DIR * ext/extmk.rb: move TARGET_SO_DIR stuffs to mkmf.rb. * lib/mkmf.rb (create_makefile): create target shared object files under $(TARGET_SO_DIR) which is $sodir if it is defined with $extout. [ruby-core:77058] [Bug #12681] ------------------------------------------------------------------------ r56046 | nobu | 2016-08-31 11:41:31 +0900 (Wed, 31 Aug 2016) | 4 lines mkmf.rb: separate timestamp files * lib/mkmf.rb (timestamp_file): separate timestamp files for each architectures. ------------------------------------------------------------------------ r56045 | nobu | 2016-08-31 11:03:07 +0900 (Wed, 31 Aug 2016) | 3 lines extmk.rb: filter gems * ext/extmk.rb: filter gems as well as exts. ------------------------------------------------------------------------ r56044 | yui-knk | 2016-08-31 01:54:06 +0900 (Wed, 31 Aug 2016) | 1 line * doc/extension.ja.rdoc: [DOC] Fix a typo. [ci skip] ------------------------------------------------------------------------ r56043 | svn | 2016-08-31 00:52:25 +0900 (Wed, 31 Aug 2016) | 1 line * 2016-08-31 ------------------------------------------------------------------------ r56042 | nobu | 2016-08-31 00:52:24 +0900 (Wed, 31 Aug 2016) | 4 lines extmk.rb: fix gem target directory name * ext/extmk.rb: make the gems target directory under the expanded name. [ruby-core:77102] [Bug #12714] ------------------------------------------------------------------------ r56041 | kazu | 2016-08-30 21:40:56 +0900 (Tue, 30 Aug 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r56040 | kazu | 2016-08-30 21:40:55 +0900 (Tue, 30 Aug 2016) | 1 line sort entries [ci skip] ------------------------------------------------------------------------ r56039 | nobu | 2016-08-30 16:29:59 +0900 (Tue, 30 Aug 2016) | 4 lines vm.c: unnecessary condition * vm.c (vm_stat): remove unnecessary condition, when argc != 1 arg is always Qnil. ------------------------------------------------------------------------ r56038 | nobu | 2016-08-30 15:27:29 +0900 (Tue, 30 Aug 2016) | 4 lines Fix rdoc of OpenStruct.json_create [ci skip] * ext/json/lib/json/add/ostruct.rb (OpenStruct.json_create): Correct documentation, fix the name of values. [Fix GH-1421] ------------------------------------------------------------------------ r56037 | nobu | 2016-08-30 15:22:30 +0900 (Tue, 30 Aug 2016) | 1 line Use qualified names ------------------------------------------------------------------------ r56036 | usa | 2016-08-30 14:59:17 +0900 (Tue, 30 Aug 2016) | 5 lines * io.c (nogvl_fsync, nogvl_fdatasync): on Windows, just ignore if the fd is associated to non-disk device. if call fsync and/or fdatasync with such fds, it causes Errno::EBADF exception and the behavior is incomatible with ruby 2.1 and earlier unintendedly introduced. ------------------------------------------------------------------------ r56035 | naruse | 2016-08-30 13:49:26 +0900 (Tue, 30 Aug 2016) | 4 lines fix r56030 [Bug #12711] check whether it was syscall or not by getting previous instruction. syscall instruction is 0x0f 0x05. ------------------------------------------------------------------------ r56034 | okkez | 2016-08-30 09:44:34 +0900 (Tue, 30 Aug 2016) | 3 lines * doc/NEWS-2.1.0: fix method name * doc/NEWS-2.2.0: ditto. ------------------------------------------------------------------------ r56033 | okkez | 2016-08-30 09:34:10 +0900 (Tue, 30 Aug 2016) | 2 lines * doc/NEWS-2.1.0: fix method name ------------------------------------------------------------------------ r56031 | svn | 2016-08-30 03:43:18 +0900 (Tue, 30 Aug 2016) | 1 line * 2016-08-30 ------------------------------------------------------------------------ r56030 | naruse | 2016-08-30 03:43:17 +0900 (Tue, 30 Aug 2016) | 4 lines * vm_dump.c (backtrace): use rip in the saved context for the case the SIGSEGV is received when the process is in userland. Note that ip in the stack should be used if the signal is received when it is in kernel (when it is calling syscall) [Bug #12711] ------------------------------------------------------------------------ r56029 | svn | 2016-08-29 14:47:11 +0900 (Mon, 29 Aug 2016) | 1 line * properties. ------------------------------------------------------------------------ r56028 | svn | 2016-08-29 14:47:11 +0900 (Mon, 29 Aug 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r56027 | rhe | 2016-08-29 14:47:09 +0900 (Mon, 29 Aug 2016) | 7 lines import Ruby/OpenSSL 2.0.0.beta.1 * NEWS, {ext,test,sample}/openssl: Import Ruby/OpenSSL 2.0.0.beta.1. ext/openssl is now converted into a default gem. The full commit history since r55538 can be found at: https://github.com/ruby/openssl/compare/08e1881f5663...v2.0.0.beta.1 [Feature #9612] ------------------------------------------------------------------------ r56026 | svn | 2016-08-29 14:47:08 +0900 (Mon, 29 Aug 2016) | 1 line * 2016-08-29 ------------------------------------------------------------------------ r56025 | rhe | 2016-08-29 14:47:08 +0900 (Mon, 29 Aug 2016) | 5 lines assertions.rb: add an alias pend for skip * test/lib/test/unit/assertions.rb (pend): Add an alias 'pend' for 'skip'. This is required for test-unit compatibility. In particular, ext/openssl uses it. ------------------------------------------------------------------------ r56024 | svn | 2016-08-28 17:53:23 +0900 (Sun, 28 Aug 2016) | 1 line * 2016-08-28 ------------------------------------------------------------------------ r56023 | nobu | 2016-08-28 17:53:22 +0900 (Sun, 28 Aug 2016) | 3 lines thread_sync.c: alias_global_const * thread_sync.c (alias_global_const): extract from a macro. ------------------------------------------------------------------------ r56021 | nobu | 2016-08-27 10:26:17 +0900 (Sat, 27 Aug 2016) | 5 lines multiple arguments * array.c (rb_ary_concat_multi): take multiple arguments. based on the patch by Satoru Horie. [Feature #12333] * string.c (rb_str_concat_multi, rb_str_prepend_multi): ditto. ------------------------------------------------------------------------ r56020 | nobu | 2016-08-27 08:26:03 +0900 (Sat, 27 Aug 2016) | 4 lines parse.y: heredoc token * parse.y (parser_heredoc_identifier): gather branches by quote char. ------------------------------------------------------------------------ r56017 | nobu | 2016-08-27 01:08:40 +0900 (Sat, 27 Aug 2016) | 5 lines test_regex_casefold.rb: skip if no data file * test/ruby/enc/test_regex_casefold.rb (setup): skip with error message if CaseFolding.txt does not present, instead of printing the message, which causes unknown command in parallel test. ------------------------------------------------------------------------ r56016 | nobu | 2016-08-27 00:11:32 +0900 (Sat, 27 Aug 2016) | 4 lines parse.y: STR_TERM_END * parse.y (parser_parse_string): store the end of string literal mark in nd_term instead of nd_func. ------------------------------------------------------------------------ r56015 | svn | 2016-08-27 00:07:52 +0900 (Sat, 27 Aug 2016) | 1 line * 2016-08-27 ------------------------------------------------------------------------ r56014 | nobu | 2016-08-27 00:07:51 +0900 (Sat, 27 Aug 2016) | 4 lines parse.y: parser_string_term * parse.y (parser_string_term): return the token of string or regexp literal terminator. ------------------------------------------------------------------------ r56013 | nobu | 2016-08-26 17:29:23 +0900 (Fri, 26 Aug 2016) | 4 lines parse.y: reset indent in heredoc_dedent * parse.y (parser_heredoc_dedent): reset heredoc_indent and return the dedented node. ------------------------------------------------------------------------ r56012 | nobu | 2016-08-26 17:29:22 +0900 (Fri, 26 Aug 2016) | 3 lines parse.y: new_string1 * parse.y (new_string1): extract from the rule. ------------------------------------------------------------------------ r56011 | nobu | 2016-08-26 17:29:18 +0900 (Fri, 26 Aug 2016) | 3 lines parse.y: new_xstring_gen * parse.y (new_xstring_gen): extract from the rule. ------------------------------------------------------------------------ r56010 | svn | 2016-08-26 17:29:18 +0900 (Fri, 26 Aug 2016) | 1 line * 2016-08-26 ------------------------------------------------------------------------ r56009 | nobu | 2016-08-26 17:29:17 +0900 (Fri, 26 Aug 2016) | 3 lines parse.y: new_regexp_gen * parse.y (new_regexp_gen): extract from the rule. ------------------------------------------------------------------------ r56008 | nobu | 2016-08-25 11:57:41 +0900 (Thu, 25 Aug 2016) | 6 lines win32/file.c: use ALLOC_N * win32/file.c (home_dir, replace_to_long_name): use ALLOC_N instead of casted xmalloc with multiplication. win32/file.c (rb_file_expand_path_internal): ditto. ------------------------------------------------------------------------ r56007 | nobu | 2016-08-25 11:11:19 +0900 (Thu, 25 Aug 2016) | 3 lines win32/file.h: rb_w32_filecp * win32/file.h (rb_w32_filecp): add declaration. ------------------------------------------------------------------------ r56006 | nobu | 2016-08-25 00:42:33 +0900 (Thu, 25 Aug 2016) | 4 lines win32/file.c: remove a codepage argument * win32/file.c (append_wstr): remove a codepage argument, and use INVALID_CODE_PAGE for conversion by econv. ------------------------------------------------------------------------ r56005 | svn | 2016-08-25 00:39:53 +0900 (Thu, 25 Aug 2016) | 1 line * 2016-08-25 ------------------------------------------------------------------------ r56004 | nobu | 2016-08-25 00:39:52 +0900 (Thu, 25 Aug 2016) | 4 lines win32/file.c: fix result length * win32/file.c (append_wstr): exclude the terminator from the result length when input len == -1. ------------------------------------------------------------------------ r56001 | kou | 2016-08-24 22:42:08 +0900 (Wed, 24 Aug 2016) | 2 lines * gc.c (gc_reset_malloc_info): Remove too much ";". ------------------------------------------------------------------------ r56000 | nobu | 2016-08-24 22:04:36 +0900 (Wed, 24 Aug 2016) | 3 lines win32/file.c: use enum * win32/file.c (home_dir): use enum instead of magic numbers. ------------------------------------------------------------------------ r55999 | ngoto | 2016-08-24 20:11:03 +0900 (Wed, 24 Aug 2016) | 2 lines Fix ChangeLog [ci skip] ------------------------------------------------------------------------ r55998 | ngoto | 2016-08-24 20:08:30 +0900 (Wed, 24 Aug 2016) | 4 lines * include/ruby/defines.h (ALWAYS_INLINE): Add alternative definition. Fix compile error with compilers that do not have force inline attribute, including old version of fcc on Solaris 10. ------------------------------------------------------------------------ r55997 | naruse | 2016-08-24 16:56:51 +0900 (Wed, 24 Aug 2016) | 1 line * .gdbinit: follow r55766's VM change. ------------------------------------------------------------------------ r55996 | nobu | 2016-08-24 13:43:25 +0900 (Wed, 24 Aug 2016) | 4 lines common.mk: unnecessary dependents of prelude.c * common.mk (PRELUDE_C): remove unnecessary dependents, which are not included directly. ------------------------------------------------------------------------ r55995 | svn | 2016-08-24 12:57:59 +0900 (Wed, 24 Aug 2016) | 1 line * 2016-08-24 ------------------------------------------------------------------------ r55994 | nobu | 2016-08-24 12:57:58 +0900 (Wed, 24 Aug 2016) | 7 lines object.c: fix {Module,Class}.new rdoc [ci skip] * object.c (rb_mod_initialize, rb_class_initialize): [DOC] these methods do not invoke module_eval/class_eval, just eval the given block under the new module/class but sharing the context with the surrounding scope like those methods. [ruby-core:77023] [Bug #12696] ------------------------------------------------------------------------ r55993 | nobu | 2016-08-23 17:00:09 +0900 (Tue, 23 Aug 2016) | 4 lines goruby.c: call Init_golf [ci skip] * goruby.c (init_golf): call Init_golf, because ruby_init_ext only registers the function since r43514. ------------------------------------------------------------------------ r55992 | nobu | 2016-08-23 11:05:24 +0900 (Tue, 23 Aug 2016) | 4 lines test_ssl_server.rb: fix FD leak * test/webrick/test_ssl_server.rb (assert_self_signed_cert): close underlying TCP socket to fix FD leak. ------------------------------------------------------------------------ r55991 | nobu | 2016-08-23 10:34:42 +0900 (Tue, 23 Aug 2016) | 4 lines test_psych.rb: close Tempfile * test/psych/test_psych.rb (test_load_file_with_fallback): fix Tempfile leak. https://github.com/tenderlove/psych/pull/288 ------------------------------------------------------------------------ r55990 | nobu | 2016-08-23 10:15:04 +0900 (Tue, 23 Aug 2016) | 4 lines string.c: rb_fs_setter * string.c (rb_fs_setter): check and convert $; value at assignment. ------------------------------------------------------------------------ r55987 | svn | 2016-08-23 02:10:01 +0900 (Tue, 23 Aug 2016) | 1 line * 2016-08-23 ------------------------------------------------------------------------ r55986 | nobu | 2016-08-23 02:10:00 +0900 (Tue, 23 Aug 2016) | 4 lines string.c: $; name in error message * string.c (rb_str_split_m): show $; name in error message when it is a wrong object. ------------------------------------------------------------------------ r55985 | nobu | 2016-08-22 16:29:54 +0900 (Mon, 22 Aug 2016) | 5 lines csv.rb: performance with very long quoted lines * lib/csv.rb (CSV#shift): store partial quoted strings in an array and join at last, to improve performance with very long quoted lines. [ruby-core:76987] [Bug #12691] ------------------------------------------------------------------------ r55984 | nobu | 2016-08-22 14:35:59 +0900 (Mon, 22 Aug 2016) | 4 lines irb.1: useless option [ci skip] * man/irb.1: remove useless -width option. [ruby-dev:49767] [Bug #12692] ------------------------------------------------------------------------ r55983 | nobu | 2016-08-22 13:21:54 +0900 (Mon, 22 Aug 2016) | 3 lines array.c: elements in self * array.c (rb_ary_splice): consider elements in middle of self. ------------------------------------------------------------------------ r55982 | svn | 2016-08-22 09:03:00 +0900 (Mon, 22 Aug 2016) | 1 line * 2016-08-22 ------------------------------------------------------------------------ r55981 | nobu | 2016-08-22 09:02:59 +0900 (Mon, 22 Aug 2016) | 4 lines iseq.c: undef allocator * iseq.c (Init_ISeq): undefine allocator of InstructionSequence, to get rid of segfaults at method call on uninitialized object. ------------------------------------------------------------------------ r55980 | kazu | 2016-08-21 20:03:15 +0900 (Sun, 21 Aug 2016) | 2 lines fix a typo [ci skip] ------------------------------------------------------------------------ r55978 | tadd | 2016-08-21 14:14:07 +0900 (Sun, 21 Aug 2016) | 2 lines * ChangeLog: fix typo. ------------------------------------------------------------------------ r55977 | nobu | 2016-08-21 13:03:22 +0900 (Sun, 21 Aug 2016) | 6 lines array.c: no temporary array * array.c (rb_ary_splice): use pointer and length pair instead of an array object to replace. * array.c (rb_ary_insert): get rid of creating temporary array. ------------------------------------------------------------------------ r55976 | svn | 2016-08-21 05:51:20 +0900 (Sun, 21 Aug 2016) | 1 line * 2016-08-21 ------------------------------------------------------------------------ r55975 | mrkn | 2016-08-21 05:51:19 +0900 (Sun, 21 Aug 2016) | 1 line enum.c (enum_sort): prevent wasteful array duplicaion ------------------------------------------------------------------------ r55974 | nobu | 2016-08-20 14:58:58 +0900 (Sat, 20 Aug 2016) | 1 line rubystub.c: sys/param.h for MAXPATHLEN ------------------------------------------------------------------------ r55973 | nobu | 2016-08-20 11:20:34 +0900 (Sat, 20 Aug 2016) | 3 lines rubystub * rubystub.c: generalize win32/stub.c. ------------------------------------------------------------------------ r55972 | svn | 2016-08-20 11:19:20 +0900 (Sat, 20 Aug 2016) | 1 line * 2016-08-20 ------------------------------------------------------------------------ r55971 | nobu | 2016-08-20 11:19:19 +0900 (Sat, 20 Aug 2016) | 4 lines win32.c: no newline for rb_fatal * win32/win32.c (StartSockets): rb_fatal does not need a newline at the end. ------------------------------------------------------------------------ r55970 | nobu | 2016-08-19 19:44:53 +0900 (Fri, 19 Aug 2016) | 3 lines ruby_cmdline_options_t * ruby.c (ruby_cmdline_options_t): typedef. ------------------------------------------------------------------------ r55969 | nobu | 2016-08-19 17:32:16 +0900 (Fri, 19 Aug 2016) | 4 lines Revert r55968 "scriptbin on cygwin" win32/stub.c only works with malloced argv as win32/win32.c, to realloc it. ------------------------------------------------------------------------ r55968 | nobu | 2016-08-19 17:01:20 +0900 (Fri, 19 Aug 2016) | 3 lines scriptbin on cygwin * cygwin/GNUmakefile.in (scriptbin): enable on cygwin. ------------------------------------------------------------------------ r55967 | nobu | 2016-08-19 17:01:19 +0900 (Fri, 19 Aug 2016) | 3 lines strip stub program * cygwin/GNUmakefile.in (STUBPROGRAM): strip. ------------------------------------------------------------------------ r55966 | nobu | 2016-08-19 13:38:20 +0900 (Fri, 19 Aug 2016) | 5 lines extmk.rb: makefiles for gems * ext/extmk.rb (extmake): now yield makefile content at creation. substitute makefiles for gems in the block, not to rewrite when nothing changed. ------------------------------------------------------------------------ r55965 | nobu | 2016-08-19 11:39:09 +0900 (Fri, 19 Aug 2016) | 4 lines parse.y: lparen_arg statement * parse.y (primary): allow parenthesised statement as a method argument. [Feature #12686] ------------------------------------------------------------------------ r55964 | nobu | 2016-08-19 09:12:47 +0900 (Fri, 19 Aug 2016) | 4 lines vm.c: check TOPLEVEL_BINDING * vm.c (vm_set_main_stack): TOPLEVEL_BINDING must be built. http://www.viva64.com/en/b/0414/#ID0EQ1CI [ruby-core:76973] ------------------------------------------------------------------------ r55963 | svn | 2016-08-19 00:59:13 +0900 (Fri, 19 Aug 2016) | 1 line * 2016-08-19 ------------------------------------------------------------------------ r55962 | yui-knk | 2016-08-19 00:59:12 +0900 (Fri, 19 Aug 2016) | 2 lines * proc.c (mnew_missing): Remove an unused argument. After r51126 rid is not used. ------------------------------------------------------------------------ r55955 | nobu | 2016-08-18 12:19:24 +0900 (Thu, 18 Aug 2016) | 4 lines test_rand.rb: refine probability test * test/ruby/test_rand.rb (test_new_seed): refine probability of failure from 1/256 to 1/256**8. ------------------------------------------------------------------------ r55954 | hsbt | 2016-08-18 09:26:53 +0900 (Thu, 18 Aug 2016) | 1 line * gems/bundled_gems: bump to test-unit-3.2.1 ------------------------------------------------------------------------ r55953 | svn | 2016-08-18 02:36:29 +0900 (Thu, 18 Aug 2016) | 1 line * 2016-08-18 ------------------------------------------------------------------------ r55952 | nobu | 2016-08-18 02:36:28 +0900 (Thu, 18 Aug 2016) | 4 lines skip failed gems * tool/rbinstall.rb: skip gems which failed to build extensions. [ruby-dev:49764] [Bug #12683] ------------------------------------------------------------------------ r55951 | nobu | 2016-08-17 23:35:16 +0900 (Wed, 17 Aug 2016) | 3 lines bump up tk * gems/bundled_gems (tk): bump up to 0.1.1. ------------------------------------------------------------------------ r55950 | nobu | 2016-08-17 23:14:44 +0900 (Wed, 17 Aug 2016) | 5 lines gem extensions * ext/extmk.rb: build gem extensions into separate directories * tool/rbinstall.rb: install pre-built gem extension files gem extension directories. [ruby-core:76931] [Bug #12681] ------------------------------------------------------------------------ r55949 | nobu | 2016-08-17 16:20:23 +0900 (Wed, 17 Aug 2016) | 3 lines mkmf.rb: use TARGET_SO * lib/mkmf.rb (create_makefile): use TARGET_SO consistently. ------------------------------------------------------------------------ r55948 | svn | 2016-08-17 10:13:01 +0900 (Wed, 17 Aug 2016) | 1 line * 2016-08-17 ------------------------------------------------------------------------ r55947 | nobu | 2016-08-17 10:13:00 +0900 (Wed, 17 Aug 2016) | 4 lines make-snapshot: remove $GZIP * tool/make-snapshot: remove deprecated environment variable GZIP to its command line arguments. ------------------------------------------------------------------------ r55946 | nobu | 2016-08-16 22:02:33 +0900 (Tue, 16 Aug 2016) | 4 lines make-snapshot: UNICODE_VERSION * tool/make-snapshot (package): propagate UNICODE_VERSION to make snapshot from the parent make. ------------------------------------------------------------------------ r55945 | nobu | 2016-08-16 22:01:30 +0900 (Tue, 16 Aug 2016) | 6 lines open Unicode data in binary mode * tool/enc-unicode.rb (data_foreach): open in binary mode because Unicode 9.0.0 contains non-ascii characters. * template/unicode_norm_gen.tmpl: ditto. ------------------------------------------------------------------------ r55944 | nobu | 2016-08-16 21:36:40 +0900 (Tue, 16 Aug 2016) | 4 lines common.mk: make unicode header dir * common.mk (UNICODE_HDR_DIR): make unicode header directory. [ruby-core:76879] [Bug #12677] ------------------------------------------------------------------------ r55942 | nobu | 2016-08-16 21:04:34 +0900 (Tue, 16 Aug 2016) | 4 lines common.mk: separate unicode headers * common.mk (UNICODE_HDR_DIR): separate unicode header files from unicode data files. [ruby-core:76879] [Bug #12677] ------------------------------------------------------------------------ r55933 | nobu | 2016-08-16 17:53:49 +0900 (Tue, 16 Aug 2016) | 3 lines common.mk: UNICODE_HDR_DIR * common.mk (UNICODE_HDR_DIR): directory for unicode headers. ------------------------------------------------------------------------ r55932 | nobu | 2016-08-16 17:41:59 +0900 (Tue, 16 Aug 2016) | 3 lines common.mk: MAKE_ENC * common.mk (MAKE_ENC): arguments for enc.mk ------------------------------------------------------------------------ r55915 | hsbt | 2016-08-16 11:18:51 +0900 (Tue, 16 Aug 2016) | 2 lines * lib/net/http/header.rb: Fix typo. [ci skip][fix GH-1407] * transcode.c: ditto. ------------------------------------------------------------------------ r55914 | svn | 2016-08-16 11:02:34 +0900 (Tue, 16 Aug 2016) | 1 line * 2016-08-16 ------------------------------------------------------------------------ r55913 | nobu | 2016-08-16 11:02:33 +0900 (Tue, 16 Aug 2016) | 4 lines make-snapshot: save unicode headers * tool/make-snapshot (package): save generated header files from unicode data. [ruby-core:76879] [Bug #12677] ------------------------------------------------------------------------ r55901 | nobu | 2016-08-15 20:31:36 +0900 (Mon, 15 Aug 2016) | 4 lines node.c: nd_alen only in the head * node.c (dump_array): show nd_alen field in NODE_ARRAY only in the first node. it is nd_end in the rest nodes. ------------------------------------------------------------------------ r55900 | kazu | 2016-08-15 16:42:56 +0900 (Mon, 15 Aug 2016) | 1 line * appveyor.yml: Update libressl version to 2.3.7. ------------------------------------------------------------------------ r55899 | nobu | 2016-08-15 11:46:53 +0900 (Mon, 15 Aug 2016) | 4 lines extmk.rb: no static-ext in gems * ext/extmk.rb (extmake): extension libraries in gems cannot link statically. ------------------------------------------------------------------------ r55898 | svn | 2016-08-15 10:59:59 +0900 (Mon, 15 Aug 2016) | 1 line * 2016-08-15 ------------------------------------------------------------------------ r55897 | nobu | 2016-08-15 10:59:58 +0900 (Mon, 15 Aug 2016) | 4 lines numeric.c: round_to_nearest * numeric.c (round_to_nearest): extract and reduce for platforms where round is not available. ------------------------------------------------------------------------ r55896 | nobu | 2016-08-14 22:35:42 +0900 (Sun, 14 Aug 2016) | 4 lines id_table.c: extend, don't shrink * id_table.c (hash_table_extend): should not shrink the table than the previous capacity. [ruby-core:76534] [Bug #12614] ------------------------------------------------------------------------ r55895 | nobu | 2016-08-14 18:51:25 +0900 (Sun, 14 Aug 2016) | 4 lines gems: tk 0.1.0 * gems/bundled_gems: add gemified tk 0.1.0. this needs `extract-gems` to build. ------------------------------------------------------------------------ r55894 | kou | 2016-08-14 14:55:04 +0900 (Sun, 14 Aug 2016) | 2 lines * object.c (InitVM_Object): Update referenced document path. ------------------------------------------------------------------------ r55893 | svn | 2016-08-14 09:34:57 +0900 (Sun, 14 Aug 2016) | 1 line * 2016-08-14 ------------------------------------------------------------------------ r55892 | hsbt | 2016-08-14 09:34:56 +0900 (Sun, 14 Aug 2016) | 1 line ChangeLog: Fix wrong date ------------------------------------------------------------------------ r55891 | nobu | 2016-08-13 23:08:03 +0900 (Sat, 13 Aug 2016) | 4 lines numeric.c: infinite recursion * numeric.c (num_funcall0, num_funcall1): get rid of infinite recursion in fallback methods of Numeric. ------------------------------------------------------------------------ r55890 | nobu | 2016-08-13 23:04:21 +0900 (Sat, 13 Aug 2016) | 5 lines test_comparable.rb: fix clamp test * test/ruby/test_comparable.rb (TestComparable#test_clamp): fix test. the result which is not clamped should be the receiver. [Feature #10594] ------------------------------------------------------------------------ r55889 | nobu | 2016-08-13 22:01:13 +0900 (Sat, 13 Aug 2016) | 4 lines win32ole.c: fix long conversion * ext/win32ole/win32ole.c (ole_val2variant): reuse the converted result for V_I8. ------------------------------------------------------------------------ r55888 | nobu | 2016-08-13 11:10:11 +0900 (Sat, 13 Aug 2016) | 4 lines parse.y: chained assignments * parse.y (command_asgn, arg): fix syntax errors with chained assignment with op assign. [Bug #12669] ------------------------------------------------------------------------ r55887 | nobu | 2016-08-13 10:52:22 +0900 (Sat, 13 Aug 2016) | 4 lines parse.y: rescue modifier in rhs of op asgn * parse.y (stmt, arg): rescue modifier in command op assignment should be limited to rhs only. [ruby-core:75621] [Bug #12402] ------------------------------------------------------------------------ r55886 | nobu | 2016-08-13 10:49:16 +0900 (Sat, 13 Aug 2016) | 4 lines win32ole.c: fix long conversion * ext/win32ole/win32ole.c (ole_val2variant): get rid of repeated conversions and fix a compile error due to V_I8 in old VC. ------------------------------------------------------------------------ r55885 | nobu | 2016-08-13 10:26:24 +0900 (Sat, 13 Aug 2016) | 4 lines getnameinfo.c: rubysocket.h for inet_ntop * ext/socket/getnameinfo.c: needs rubysocket.h for fallback definition of inet_ntop. ------------------------------------------------------------------------ r55884 | nobu | 2016-08-13 10:21:29 +0900 (Sat, 13 Aug 2016) | 4 lines vm_insnhelper.c: fix ALWAYS_INLINE usage * vm_insnhelper.c (vm_getivar): ALWAYS_INLINE macro needs an argument. ------------------------------------------------------------------------ r55883 | svn | 2016-08-13 07:54:24 +0900 (Sat, 13 Aug 2016) | 1 line * 2016-08-13 ------------------------------------------------------------------------ r55882 | suke | 2016-08-13 07:54:23 +0900 (Sat, 13 Aug 2016) | 4 lines * ext/win32ole/win32ole.c (ole_val2variant): fix integer conversion in cygwin64. ------------------------------------------------------------------------ r55881 | naruse | 2016-08-12 21:08:13 +0900 (Fri, 12 Aug 2016) | 5 lines * lib/webrick/config.rb (WEBrick::Config::General): disable reverse lookup by default. [ruby-core:45514] [Feature #6559] Socket.do_not_reverse_lookup is true by default but WEBrick overwrote it. patch by Eric Hodel [ruby-core:45527] ------------------------------------------------------------------------ r55880 | kazu | 2016-08-12 16:48:09 +0900 (Fri, 12 Aug 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55879 | nobu | 2016-08-12 12:55:16 +0900 (Fri, 12 Aug 2016) | 5 lines ChangeLog: fix name in r55863 [ci skip] * ChangeLog: fix the original patch author's name to the name written in the patch, not "author name" in git. [Feature #10594] ------------------------------------------------------------------------ r55878 | nobu | 2016-08-12 12:50:33 +0900 (Fri, 12 Aug 2016) | 5 lines error.c: fix newline in syntax error * error.c (rb_syntax_error_append): fix newline in syntax error message to the beginning, not after file name and line number. [Feature #11951] ------------------------------------------------------------------------ r55877 | nobu | 2016-08-12 12:29:50 +0900 (Fri, 12 Aug 2016) | 4 lines parse.y: const_decl_gen * parse.y (const_decl_gen): extract as a function as well as ripper. ------------------------------------------------------------------------ r55876 | nobu | 2016-08-12 12:29:49 +0900 (Fri, 12 Aug 2016) | 3 lines parse.y: assign_error * parse.y (assign_error_gen): [ripper] rename without backref. ------------------------------------------------------------------------ r55865 | svn | 2016-08-12 00:00:11 +0900 (Fri, 12 Aug 2016) | 1 line * 2016-08-12 ------------------------------------------------------------------------ r55864 | kazu | 2016-08-12 00:00:09 +0900 (Fri, 12 Aug 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55863 | nobu | 2016-08-11 16:24:25 +0900 (Thu, 11 Aug 2016) | 3 lines Comparable#clamp * compar.c (cmp_clamp): Introduce Comparable#clamp. [Feature #10594] ------------------------------------------------------------------------ r55862 | nobu | 2016-08-11 16:20:36 +0900 (Thu, 11 Aug 2016) | 5 lines compar.c: utility functions * compar.c (rb_cmp): call comparison method by predefiend ID. * compar.c (cmpint): returns compared result. ------------------------------------------------------------------------ r55861 | nobu | 2016-08-11 11:32:19 +0900 (Thu, 11 Aug 2016) | 4 lines parse.y: node_assign * parse.y (stmt, command_asgn): unifiy parser and ripper code by node_assign macro. ------------------------------------------------------------------------ r55860 | nobu | 2016-08-11 11:20:34 +0900 (Thu, 11 Aug 2016) | 3 lines parse.y: backref_assign_error * parse.y (backref_assign_error): unify parser and ripper code. ------------------------------------------------------------------------ r55859 | nobu | 2016-08-11 11:12:57 +0900 (Thu, 11 Aug 2016) | 3 lines parse.y: const declaration macro * parse.y (const_decl): unify parser and ripper code. ------------------------------------------------------------------------ r55858 | nobu | 2016-08-11 10:24:24 +0900 (Thu, 11 Aug 2016) | 4 lines parse.y: const field macros * parse.y (const_path_field, top_const_field): unify parser and ripper code. ------------------------------------------------------------------------ r55857 | svn | 2016-08-11 03:17:42 +0900 (Thu, 11 Aug 2016) | 1 line * 2016-08-11 ------------------------------------------------------------------------ r55856 | marcandre | 2016-08-11 03:17:41 +0900 (Thu, 11 Aug 2016) | 4 lines * lib/prime.rb: Optimize prime? Adapted from patch by Jabari Zakiya [#12665] * test/test_prime.rb: Improve test ------------------------------------------------------------------------ r55853 | nobu | 2016-08-10 22:37:03 +0900 (Wed, 10 Aug 2016) | 4 lines parse.y: rhs with rescue modifier * parse.y (command_rhs, arg_rhs): introduce new rules to reduce repeated rules with rescue modifier. ------------------------------------------------------------------------ r55852 | nobu | 2016-08-10 20:11:36 +0900 (Wed, 10 Aug 2016) | 7 lines win32/resolv: fix for cygwin * ext/win32/resolv/resolv.c: needs windows.h for iphlpapi.h on cygwin. [ruby-core:76791] [Bug #12663] * ext/win32/resolv/resolv.c (w32error_make_error): use Win32::Resolv::Error, an alias of Win32::Registry::Error. ------------------------------------------------------------------------ r55851 | nobu | 2016-08-10 17:26:46 +0900 (Wed, 10 Aug 2016) | 4 lines parse.y: rescue modifier in rhs * parse.y (command_asgn): rescue modifier in command assignment should be limited to rhs only. [ruby-core:75621] [Bug #12402] ------------------------------------------------------------------------ r55850 | svn | 2016-08-10 15:35:06 +0900 (Wed, 10 Aug 2016) | 1 line * 2016-08-10 ------------------------------------------------------------------------ r55849 | nobu | 2016-08-10 15:35:05 +0900 (Wed, 10 Aug 2016) | 6 lines win32/resolv: fix for cygwin * ext/win32/resolv/resolv.c: needs windows.h for iphlpapi.h on cygwin. [ruby-core:76791] [Bug #12663] * ext/win32/resolv/resolv.c (w32error_make_error): use Win32::Resolv::Error, an alias of Win32::Registry::Error. ------------------------------------------------------------------------ r55848 | kazu | 2016-08-09 21:00:35 +0900 (Tue, 09 Aug 2016) | 2 lines Remove empty directories ------------------------------------------------------------------------ r55847 | mrkn | 2016-08-09 17:54:15 +0900 (Tue, 09 Aug 2016) | 6 lines hash.c: implement Hash#map_v and Hash#map_v! * hash.c (rb_hash_map_v, rb_hash_map_v_bang): impelement Hash#map_v and Hash#map_v! [Feature #12512] [ruby-core:76095] * test/ruby/test_hash.rb: add tests for above change. ------------------------------------------------------------------------ r55846 | naruse | 2016-08-09 16:52:23 +0900 (Tue, 09 Aug 2016) | 2 lines * vm_insnhelper.c (vm_getivar): use always_inline because gcc7 doesn't inline this without always_inline. ------------------------------------------------------------------------ r55845 | nobu | 2016-08-09 16:36:14 +0900 (Tue, 09 Aug 2016) | 4 lines test_objectspace.rb: errors in a finalizer * test/ruby/test_objectspace.rb (test_finalizer_with_super): adjust number of arguments to get rid of errors in a finalizer. ------------------------------------------------------------------------ r55844 | naruse | 2016-08-09 15:44:45 +0900 (Tue, 09 Aug 2016) | 2 lines * ext/tk: Tk is removed from stdlib. [Feature #8539] https://github.com/ruby/tk is the new upstream. ------------------------------------------------------------------------ r55843 | nobu | 2016-08-09 14:05:12 +0900 (Tue, 09 Aug 2016) | 4 lines tcltklib.c: repeated checks and conversions [ci skip] * ext/tk/tcltklib.c (ip_init): get rid of repeated checks and conversions in StringValueCStr. ------------------------------------------------------------------------ r55842 | nobu | 2016-08-09 14:05:11 +0900 (Tue, 09 Aug 2016) | 8 lines tcltklib.c: use StringValueCStr [ci skip] * ext/tk/tcltklib.c (set_max_block_time, tcl_protect_core, ip_init, ip_create_slave_core, get_obj_from_str, ip_cancel_eval_core, lib_set_system_encoding, alloc_invoke_arguments, lib_merge_tklist): use StringValueCStr instead of StringValuePtr for values to be passed to Tcl interperter. ------------------------------------------------------------------------ r55841 | nobu | 2016-08-09 14:05:10 +0900 (Tue, 09 Aug 2016) | 4 lines tcltklib.c: use PRIsVALUE [ci skip] * ext/tk/tcltklib.c (set_max_block_time): use PRIsVALUE to get rid of dangling pointer. ------------------------------------------------------------------------ r55840 | nobu | 2016-08-09 14:05:09 +0900 (Tue, 09 Aug 2016) | 5 lines tcltklib.c: missing break [ci skip] * ext/tk/tcltklib.c (set_max_block_time): fix missing break. TclTkLib.set_max_block_time(1) works but TclTkLib.set_max_block_time(1.0) didn't. ------------------------------------------------------------------------ r55839 | nobu | 2016-08-09 10:42:51 +0900 (Tue, 09 Aug 2016) | 4 lines tcltk.rb: suppress a warning [ci skip] * ext/tk/lib/tcltk.rb (TclTkWidget#initialize): suppress an "assigned but unused variable" warning. ------------------------------------------------------------------------ r55838 | nobu | 2016-08-09 10:42:49 +0900 (Tue, 09 Aug 2016) | 5 lines tcltklib/sample2.rb: use attr_accessor [ci skip] * ext/tk/sample/tcltklib/sample2.rb (Othello::BoardView::Square): use attr_accessor instead of attr with optional boolean argument. ------------------------------------------------------------------------ r55837 | nobu | 2016-08-09 10:42:48 +0900 (Tue, 09 Aug 2016) | 7 lines use true and false [ci skip] * ext/tk/lib/tk/texttag.rb, ext/tk/sample/tcltklib/sample2.rb, ext/tk/sample/tkline.rb, ext/tk/sample/tktimer.rb: use true and false instead of TRUE and FALSE. * ext/win32ole/sample/ienavi.rb (stop_msg_loop): ditto. ------------------------------------------------------------------------ r55836 | svn | 2016-08-09 00:16:31 +0900 (Tue, 09 Aug 2016) | 1 line * 2016-08-09 ------------------------------------------------------------------------ r55835 | kazu | 2016-08-09 00:16:30 +0900 (Tue, 09 Aug 2016) | 1 line * doc/maintainers.rdoc: Remove moved file section. ------------------------------------------------------------------------ r55834 | suke | 2016-08-08 21:04:45 +0900 (Mon, 08 Aug 2016) | 6 lines * ext/win32ole/sample/excel1.rb, ext/win32ole/sample/excel2.rb, ext/win32ole/sample/excel3.rb, ext/win32ole/sample/ie.rb, ext/win32ole/sample/ienavi.rb, ext/win32ole/sample/ienavi2.rb: use true instead of deprecated TRUE. [ci skip] ------------------------------------------------------------------------ r55833 | nobu | 2016-08-08 14:11:51 +0900 (Mon, 08 Aug 2016) | 4 lines internal.h: fix r55831 * internal.h (RBASIC_CLEAR_CLASS): fix compile error and size to fill. ------------------------------------------------------------------------ r55832 | nobu | 2016-08-08 14:04:36 +0900 (Mon, 08 Aug 2016) | 5 lines test/unit.rb: no verbose in worker processes * test/lib/test/unit.rb (Test::Unit::Parallel::Worker.launch): disable verbose flag in worker processes, get rid of unexpected output within marshaled results. ------------------------------------------------------------------------ r55831 | shyouhei | 2016-08-08 13:19:58 +0900 (Mon, 08 Aug 2016) | 5 lines * internal.h (RBASIC_CLEAR_CLASS): Reroute ANSI C's strict aliasing rule. [ruby-core:74427][Bug #12191][ruby-core:76747][Bug #12657] ------------------------------------------------------------------------ r55830 | svn | 2016-08-08 01:33:05 +0900 (Mon, 08 Aug 2016) | 1 line * 2016-08-08 ------------------------------------------------------------------------ r55829 | kazu | 2016-08-08 01:33:04 +0900 (Mon, 08 Aug 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55828 | nobu | 2016-08-07 19:34:11 +0900 (Sun, 07 Aug 2016) | 3 lines suppress warnings * basictest/runner.rb, bootstraptest/runner.rb: disable warnings. ------------------------------------------------------------------------ r55827 | nobu | 2016-08-07 19:34:10 +0900 (Sun, 07 Aug 2016) | 3 lines vcs.rb: suppress warnings * tool/vcs.rb (VCS#modified): get rid of set but unused variables. ------------------------------------------------------------------------ r55826 | nobu | 2016-08-07 19:05:57 +0900 (Sun, 07 Aug 2016) | 3 lines extmk.rb: suppress a warning * ext/extmk.rb: get rid of shadowing outer local variable. ------------------------------------------------------------------------ r55825 | nobu | 2016-08-07 19:04:41 +0900 (Sun, 07 Aug 2016) | 3 lines extmk.rb: remove sysquote * ext/extmk.rb (sysquote): removed. unnecessary since r52161. ------------------------------------------------------------------------ r55824 | nobu | 2016-08-07 18:08:29 +0900 (Sun, 07 Aug 2016) | 4 lines deprecate TRUE,FALSE,NIL * object.c (InitVM_Object): deprecate toplevel constants TRUE, FALSE, and NIL. [Feature #12574] ------------------------------------------------------------------------ r55823 | svn | 2016-08-07 06:50:11 +0900 (Sun, 07 Aug 2016) | 1 line * 2016-08-07 ------------------------------------------------------------------------ r55822 | normal | 2016-08-07 06:50:10 +0900 (Sun, 07 Aug 2016) | 16 lines openssl: avoid undefined behavior on empty SSL_write SSL_write(3ssl) manpage has this in the WARNINGS section: When calling SSL_write() with num=0 bytes to be sent the behaviour is undefined. And indeed, the new test case demonstrates failures when empty strings are used. So, match the behavior of IO#write, IO#write_nonblock, and IO#syswrite by returning zero, as the OpenSSL::SSL::SSLSocket API already closely mimics the IO one. * ext/openssl/ossl_ssl.c (ossl_ssl_write_internal): avoid undefined behavior * test/openssl/test_pair.rb (test_write_zero): new test [ruby-core:76751] [Bug #12660] ------------------------------------------------------------------------ r55821 | nobu | 2016-08-06 09:35:33 +0900 (Sat, 06 Aug 2016) | 4 lines id_table.h: dummy sentinel * id_table.h (rb_id_table_iterator_result): add dummy sentinel member because C standard prohibits a trailing comma. ------------------------------------------------------------------------ r55820 | svn | 2016-08-06 00:39:47 +0900 (Sat, 06 Aug 2016) | 1 line * 2016-08-06 ------------------------------------------------------------------------ r55819 | nobu | 2016-08-06 00:39:46 +0900 (Sat, 06 Aug 2016) | 6 lines hash.c: env_name_new * hash.c (env_enc_str_new): make string for an environment variable name or value. * hash.c (env_name_new): make environment value string with the encoding for its name. ------------------------------------------------------------------------ r55818 | usa | 2016-08-05 23:19:26 +0900 (Fri, 05 Aug 2016) | 3 lines * hasn.c (env_str_new): taint the string. get rid of a test failure introduced at r55811. ------------------------------------------------------------------------ r55817 | nobu | 2016-08-05 17:31:23 +0900 (Fri, 05 Aug 2016) | 5 lines win32.c: initialize with an impossible value * win32/win32.c (getifaddrs, rb_w32_getppid): initialize the API pointers with an impossible value not to try everytime on old platforms. ------------------------------------------------------------------------ r55816 | nobu | 2016-08-05 17:28:03 +0900 (Fri, 05 Aug 2016) | 4 lines win32.c: static API pointers * win32/win32.c (rb_w32_inet_ntop, rb_w32_inet_): make the API pointers static not to get the address everytime. ------------------------------------------------------------------------ r55815 | nobu | 2016-08-05 17:22:35 +0900 (Fri, 05 Aug 2016) | 4 lines win32.c: call get_final_path pointer * win32/win32.c (get_final_path): initialize this pointer without further comparisons. ------------------------------------------------------------------------ r55814 | svn | 2016-08-05 17:04:05 +0900 (Fri, 05 Aug 2016) | 1 line * 2016-08-05 ------------------------------------------------------------------------ r55813 | nobu | 2016-08-05 17:04:04 +0900 (Fri, 05 Aug 2016) | 4 lines hash.c: call w32_getenv pointer * hash.c (w32_getenv): call rb_w32_getenv and rb_w32_ugetenv via this pointer without further comparisons. ------------------------------------------------------------------------ r55812 | svn | 2016-08-04 11:54:33 +0900 (Thu, 04 Aug 2016) | 1 line * 2016-08-04 ------------------------------------------------------------------------ r55811 | nobu | 2016-08-04 11:54:32 +0900 (Thu, 04 Aug 2016) | 4 lines hash.c: set encoding * hash.c (env_assoc): the encoding of the value should be the locale, as well as other methods, [], fetch, values, etc. ------------------------------------------------------------------------ r55810 | nobu | 2016-08-03 21:31:25 +0900 (Wed, 03 Aug 2016) | 4 lines parse.y: reg_fragment_enc_error * parse.y (reg_fragment_enc_error): compile_error is different between parser and ripper. [ruby-core:76397] [Bug #12651] ------------------------------------------------------------------------ r55809 | nobu | 2016-08-03 17:20:13 +0900 (Wed, 03 Aug 2016) | 3 lines NEWS: Kernel#clone [ci skip] * NEWS (Kernel#clone): mention freeze flag. [Feature #12300] ------------------------------------------------------------------------ r55808 | nobu | 2016-08-03 17:15:08 +0900 (Wed, 03 Aug 2016) | 4 lines object.c: restrict freeze option * object.c (rb_obj_clone2): restrict freeze option to true other than false which only has the effect. [Feature #12300] ------------------------------------------------------------------------ r55807 | nobu | 2016-08-03 15:03:50 +0900 (Wed, 03 Aug 2016) | 4 lines object.c: suppress warning * object.c (rb_obj_clone2): remove set but not used variable to suppress unused-but-set-variable warning. ------------------------------------------------------------------------ r55806 | nobu | 2016-08-03 11:30:37 +0900 (Wed, 03 Aug 2016) | 4 lines vm_insnhelper.c: extra semicolon * vm_insnhelper.c (CHECK): remove extra semicolon and fold too long line. ------------------------------------------------------------------------ r55805 | svn | 2016-08-03 10:50:52 +0900 (Wed, 03 Aug 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55804 | ko1 | 2016-08-03 10:50:50 +0900 (Wed, 03 Aug 2016) | 10 lines * vm_core.h: introduce VM_FRAME_RUBYFRAME_P() and VM_FRAME_CFRAME_P(). Most of case, RUBY_VM_NORMAL_ISEQ_P() is no longer needed. * vm_core.h: introduce rb_obj_is_iseq(). * cont.c, vm.c: VM_FRAME_MAGIC_DUMMY with VM_FRAME_FLAG_CFRAME. ------------------------------------------------------------------------ r55803 | ko1 | 2016-08-03 09:28:12 +0900 (Wed, 03 Aug 2016) | 5 lines * vm_core.h: rename macros and make them inline functions. * rename VM_FRAME_TYPE_FINISH_P() to VM_FRAME_FINISHED_P(). * rename VM_FRAME_TYPE_BMETHOD_P() to VM_FRAME_BMETHOD_P(). ------------------------------------------------------------------------ r55802 | svn | 2016-08-03 09:16:35 +0900 (Wed, 03 Aug 2016) | 1 line * 2016-08-03 ------------------------------------------------------------------------ r55801 | ko1 | 2016-08-03 09:16:34 +0900 (Wed, 03 Aug 2016) | 3 lines * vm_core.h: introduce VM_FRAME_FLAG_CFRAME to represent cfp->iseq type. ------------------------------------------------------------------------ r55800 | kazu | 2016-08-02 22:18:47 +0900 (Tue, 02 Aug 2016) | 2 lines Remove empty directories ------------------------------------------------------------------------ r55799 | nobu | 2016-08-02 21:42:42 +0900 (Tue, 02 Aug 2016) | 4 lines math.c: faster tanh * math.c (tanh): make faster by the extract form if three hyperbolic functions are unavailable. [Feature #12647] ------------------------------------------------------------------------ r55798 | nobu | 2016-08-02 21:40:51 +0900 (Tue, 02 Aug 2016) | 3 lines math.c: tanh overflow * math.c (tanh): check overflows, and return +-1.0. ------------------------------------------------------------------------ r55797 | nobu | 2016-08-02 12:37:02 +0900 (Tue, 02 Aug 2016) | 4 lines socket/option.c: inet_ntop * ext/socket/option.c, ext/socket/rubysocket.h (inet_ntop): share the fallback definition. [ruby-core:76646] [Bug #12645] ------------------------------------------------------------------------ r55796 | nobu | 2016-08-02 11:18:14 +0900 (Tue, 02 Aug 2016) | 4 lines tcltklib.c: remove RUBY_VERSION * ext/tk/tcltklib.c (tcltklib_compile_info): remove RUBY_VERSION, use RUBY_API_VERSION instead. ------------------------------------------------------------------------ r55795 | nobu | 2016-08-02 10:59:13 +0900 (Tue, 02 Aug 2016) | 4 lines tcltklib.c: compile info * ext/tk/tcltklib.c (tcltklib_compile_info): build compile info statically. ------------------------------------------------------------------------ r55794 | nobu | 2016-08-02 10:47:21 +0900 (Tue, 02 Aug 2016) | 4 lines vm_core.h: suppress warnings * vm_core.h (VM_ENV_FLAGS, VM_FRAME_TYPE): return unsigned to suppress sign-compare warnings. ------------------------------------------------------------------------ r55793 | svn | 2016-08-02 04:12:29 +0900 (Tue, 02 Aug 2016) | 1 line * 2016-08-02 ------------------------------------------------------------------------ r55792 | usa | 2016-08-02 04:12:28 +0900 (Tue, 02 Aug 2016) | 6 lines * win32/win32.c (set_pioinfo_extra): use more reliable way to search the position of pioinfo of VC14, and also support debug library of it. patched by davispuh AT gmail.com [ruby-core:76644] [Bug #12644] this fixes also [Bug #12631] ------------------------------------------------------------------------ r55789 | nobu | 2016-08-01 21:39:54 +0900 (Mon, 01 Aug 2016) | 4 lines extmk.rb: build gems * ext/extmk.rb: [EXPERIMENTAL] build extension libraries in extracted gems. ------------------------------------------------------------------------ r55788 | shyouhei | 2016-08-01 16:23:56 +0900 (Mon, 01 Aug 2016) | 11 lines hide struct internal [Feature #9916] * include/ruby/ruby.h (struct RStruct): no longer. * internal.h (struct RStruct): moved here. * struct.c (rb_struct_ptr): a compensation function for the lack of RSTRUCT_PTR. But now that we have RSTRUCT_GET/SET, that must not be used anyway. I mark this deprecated. Dont use it. ------------------------------------------------------------------------ r55787 | svn | 2016-08-01 14:55:36 +0900 (Mon, 01 Aug 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55786 | shyouhei | 2016-08-01 14:55:35 +0900 (Mon, 01 Aug 2016) | 9 lines Object#clone with freeze: false [Feature #12300] * object.c (rb_obj_clone2): Allow Object#clone to take freeze: false keyword argument to not freeze the clone. [ruby-core:75017][Feature #12300] * test/ruby/test_object.rb (TestObject): test for it. ------------------------------------------------------------------------ r55785 | svn | 2016-08-01 12:16:31 +0900 (Mon, 01 Aug 2016) | 1 line * 2016-08-01 ------------------------------------------------------------------------ r55784 | hsbt | 2016-08-01 12:16:30 +0900 (Mon, 01 Aug 2016) | 1 line * ext/json/*, test/json/json_parser_test.rb: Update json-2.0.2. ------------------------------------------------------------------------ r55783 | nobu | 2016-07-31 16:24:45 +0900 (Sun, 31 Jul 2016) | 4 lines resolv.c: fix commit miss * ext/win32/resolv/resolv.c (Init_resolv): remove dead code. [Bug #12604] ------------------------------------------------------------------------ r55782 | svn | 2016-07-31 16:17:27 +0900 (Sun, 31 Jul 2016) | 1 line * 2016-07-31 ------------------------------------------------------------------------ r55781 | nobu | 2016-07-31 16:17:25 +0900 (Sun, 31 Jul 2016) | 5 lines win32/resolv: get_dns_server_list * ext/win32/resolv/resolv.c (get_dns_server_list): [Win32] get DNS servers only for connected network devices by GetNetworkParams API. [Bug #12604] ------------------------------------------------------------------------ r55780 | nobu | 2016-07-30 19:32:06 +0900 (Sat, 30 Jul 2016) | 3 lines iso_8859_2.c: dedent [ci skip] * enc/iso_8859_2.c: remove unnecessary indent. ------------------------------------------------------------------------ r55777 | duerst | 2016-07-30 12:13:28 +0900 (Sat, 30 Jul 2016) | 3 lines * string.c (String#downcase), NEWS: Mentioned that case mapping for all of ISO-8859-1~16 is now supported. [ci skip] ------------------------------------------------------------------------ r55776 | svn | 2016-07-30 12:00:10 +0900 (Sat, 30 Jul 2016) | 1 line * 2016-07-30 ------------------------------------------------------------------------ r55775 | duerst | 2016-07-30 12:00:09 +0900 (Sat, 30 Jul 2016) | 3 lines * enc/iso_8859_2.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-2, by Yushiro Ishii. ------------------------------------------------------------------------ r55773 | nobu | 2016-07-29 20:57:14 +0900 (Fri, 29 Jul 2016) | 4 lines rb_funcallv * *.c: rename rb_funcall2 to rb_funcallv, except for extensions which are/will be/may be gems. [Fix GH-1406] ------------------------------------------------------------------------ r55772 | ko1 | 2016-07-29 10:52:17 +0900 (Fri, 29 Jul 2016) | 2 lines * proc.c (env_write): remove unused function. ------------------------------------------------------------------------ r55771 | ko1 | 2016-07-29 10:51:09 +0900 (Fri, 29 Jul 2016) | 4 lines * vm_core.h (VM_LOCAL_P): should return an integer value. reported at http://d.hatena.ne.jp/nagachika/20160728/ruby_trunk_changes_55764_55770 ------------------------------------------------------------------------ r55770 | ko1 | 2016-07-29 04:27:52 +0900 (Fri, 29 Jul 2016) | 4 lines * vm_core.h (VM_ENV_LOCAL_P): return truthy (0 or not) value. * vm.c (rb_vm_make_proc_lambda): use VM_ENV_ESCAPED_P() macro. ------------------------------------------------------------------------ r55769 | svn | 2016-07-29 04:13:27 +0900 (Fri, 29 Jul 2016) | 1 line * 2016-07-29 ------------------------------------------------------------------------ r55768 | ko1 | 2016-07-29 04:13:26 +0900 (Fri, 29 Jul 2016) | 16 lines * vm.c, internal.h: remove RubyVM::Env class and all of env objects are imemo objects (imemo_env). * NEWS: describe this change. I believe nobody touch these objects because there are no method defined. * vm_core.h: remove the following definitions. * rb_cEnv decl. * GetEnvPtr() because Env is no longer T_DATA object. * vm_core.h (rb_env_t): fix layout for imemo values. * vm_core.h (vm_assert_env): added. * vm_core.h (vm_env_new): added. ------------------------------------------------------------------------ r55767 | svn | 2016-07-28 20:02:32 +0900 (Thu, 28 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55766 | ko1 | 2016-07-28 20:02:30 +0900 (Thu, 28 Jul 2016) | 18 lines * vm_core.h: revisit the structure of frame, block and env. [Bug #12628] This patch introduce many changes. * Introduce concept of "Block Handler (BH)" to represent passed blocks. * move rb_control_frame_t::flag to ep[0] (as a special local variable). This flags represents not only frame type, but also env flags such as escaped. * rename `rb_block_t` to `struct rb_block`. * Make Proc, Binding and RubyVM::Env objects wb-protected. Check [Bug #12628] for more details. ------------------------------------------------------------------------ r55765 | svn | 2016-07-28 15:05:15 +0900 (Thu, 28 Jul 2016) | 1 line * 2016-07-28 ------------------------------------------------------------------------ r55764 | nobu | 2016-07-28 15:05:14 +0900 (Thu, 28 Jul 2016) | 7 lines ruby.h: use __extension__ * include/ruby/ruby.h (ruby_fl_type): use __extension__ to get rid of pedantic warning against RUBY_FL_USER19. https://github.com/skylightio/skylight-ruby/issues/64 * include/ruby/ruby.h (rb_mul_size_overflow): ditto for use of int128. ------------------------------------------------------------------------ r55763 | duerst | 2016-07-27 10:33:01 +0900 (Wed, 27 Jul 2016) | 2 lines * enc/windows_1253.c: Remove dead code found by Coverity Scan. ------------------------------------------------------------------------ r55762 | nobu | 2016-07-27 01:22:56 +0900 (Wed, 27 Jul 2016) | 4 lines dtrace: wait command * test/dtrace/helper.rb (DTrace::TestCase::READ_PROBES): wait the spawned command not to make a waiter thread. fix up r55736. ------------------------------------------------------------------------ r55761 | svn | 2016-07-27 01:03:52 +0900 (Wed, 27 Jul 2016) | 1 line * 2016-07-27 ------------------------------------------------------------------------ r55760 | nobu | 2016-07-27 01:03:51 +0900 (Wed, 27 Jul 2016) | 4 lines gmake.mk: test-framework by love * defs/gmake.mk (sudo-precheck): test the test-framework before installation by love. ------------------------------------------------------------------------ r55759 | nobu | 2016-07-26 22:43:38 +0900 (Tue, 26 Jul 2016) | 4 lines gc.c: running finalizer state * gc.c (run_finalizer): make saved running finalizer state volatile to ensure not to be clobbered by longjmp. ------------------------------------------------------------------------ r55758 | nobu | 2016-07-26 22:02:34 +0900 (Tue, 26 Jul 2016) | 4 lines gmake.mk: love dependency * defs/gmake.mk (test-almost): depends on install when making love. ------------------------------------------------------------------------ r55757 | nobu | 2016-07-26 22:02:33 +0900 (Tue, 26 Jul 2016) | 1 line test: use assert_include ------------------------------------------------------------------------ r55756 | nobu | 2016-07-26 21:51:50 +0900 (Tue, 26 Jul 2016) | 4 lines dtrace: chomp CR * test/dtrace/helper.rb (DTrace::TestCase::READ_PROBES): chomp CR by pty. fix up r55736. ------------------------------------------------------------------------ r55755 | ko1 | 2016-07-26 19:28:21 +0900 (Tue, 26 Jul 2016) | 6 lines * vm_insnhelper.c: introduce rb_vm_pop_frame() and use it instead of setting rb_thread_t::cfp directly. * vm_insnhelper.c (vm_pop_frame): return the result of finish frame or not. ------------------------------------------------------------------------ r55754 | ko1 | 2016-07-26 19:07:12 +0900 (Tue, 26 Jul 2016) | 2 lines * gc.c (rb_raw_obj_info): support to show Proc obj. ------------------------------------------------------------------------ r55753 | ko1 | 2016-07-26 18:57:50 +0900 (Tue, 26 Jul 2016) | 5 lines * gc.c (gc_mark): add `inline' explicitly. I expected to inline this function implicitly at the loop (ex: marking T_ARRAY objects) but sometimes it remains as normal call. ------------------------------------------------------------------------ r55752 | duerst | 2016-07-26 16:33:18 +0900 (Tue, 26 Jul 2016) | 3 lines * enc/windows_1257.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for Windows-1257, by Sho Koike. ------------------------------------------------------------------------ r55751 | duerst | 2016-07-26 16:19:43 +0900 (Tue, 26 Jul 2016) | 4 lines * enc/windows_1250.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for Windows-1250, by Sho Koike. * ChangeLog: Fixed order of previous two entries. ------------------------------------------------------------------------ r55750 | duerst | 2016-07-26 15:54:18 +0900 (Tue, 26 Jul 2016) | 3 lines * enc/windows_1251.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for Windows-1251, by Shunsuke Sato. ------------------------------------------------------------------------ r55749 | duerst | 2016-07-26 15:30:39 +0900 (Tue, 26 Jul 2016) | 3 lines * enc/windows_1251.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for Windows-1251, by Shunsuke Sato. ------------------------------------------------------------------------ r55748 | svn | 2016-07-26 13:05:04 +0900 (Tue, 26 Jul 2016) | 1 line * 2016-07-26 ------------------------------------------------------------------------ r55747 | svn | 2016-07-26 13:05:04 +0900 (Tue, 26 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55746 | duerst | 2016-07-26 13:05:03 +0900 (Tue, 26 Jul 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Add explicit skip test for availability of Unicode data files. ------------------------------------------------------------------------ r55745 | nobu | 2016-07-25 21:33:15 +0900 (Mon, 25 Jul 2016) | 4 lines range.c: check_step_domain * range.c (check_step_domain): check step argument domain by <=> method, instead of < and >. ------------------------------------------------------------------------ r55744 | kazu | 2016-07-25 21:12:19 +0900 (Mon, 25 Jul 2016) | 1 line fix filenames [ci skip] ------------------------------------------------------------------------ r55743 | ko1 | 2016-07-25 17:00:46 +0900 (Mon, 25 Jul 2016) | 4 lines * debug.c (ruby_debug_printf): use rb_raw_obj_info() instead of rb_inspect() because it is more robust way to see object internal. ------------------------------------------------------------------------ r55742 | svn | 2016-07-25 06:43:06 +0900 (Mon, 25 Jul 2016) | 1 line * 2016-07-25 ------------------------------------------------------------------------ r55741 | nobu | 2016-07-25 06:43:05 +0900 (Mon, 25 Jul 2016) | 4 lines dtrace: simplify * test/dtrace/helper.rb (DTrace::TestCase::RUBYBIN): simply substitute basename. ------------------------------------------------------------------------ r55740 | duerst | 2016-07-24 16:33:15 +0900 (Sun, 24 Jul 2016) | 7 lines * regenc.h/c, include/ruby/oniguruma.h, enc/ascii.c, big5.c, cp949.c, emacs_mule.c, euc_jp.c, euc_kr.c, euc_tw.c, gb18030.c, gbk.c, iso_8859_1|2|3|4|5|6|7|8|9|10|11|13|14|15|16.c, koi8_r.c, koi8_u.c, shift_jis.c, unicode.c, us_ascii.c, utf_16|32be|le.c, utf_8.c, windows_1250|51|52|53|54|57.c, windows_31j.c, unicode.c: Remove conditional compilation macro ONIG_CASE_MAPPING. [Feature #12386]. ------------------------------------------------------------------------ r55739 | hsbt | 2016-07-24 12:53:47 +0900 (Sun, 24 Jul 2016) | 1 line * doc/maintainers.rdoc: xmlrpc is bundled gem from Ruby 2.4. ------------------------------------------------------------------------ r55738 | hsbt | 2016-07-24 12:08:22 +0900 (Sun, 24 Jul 2016) | 1 line * doc/maintainers.rdoc: Update OpenSSL maintainer. ------------------------------------------------------------------------ r55737 | svn | 2016-07-24 00:04:13 +0900 (Sun, 24 Jul 2016) | 1 line * 2016-07-24 ------------------------------------------------------------------------ r55736 | nobu | 2016-07-24 00:04:12 +0900 (Sun, 24 Jul 2016) | 4 lines dtrace: suppress an empty line * test/dtrace/helper.rb (DTrace::TestCase#trap_probe): suppress an extra empty line to the controlling tty by dtrace on Darwin. ------------------------------------------------------------------------ r55735 | nobu | 2016-07-23 23:59:25 +0900 (Sat, 23 Jul 2016) | 4 lines dtrace: use miniruby instead of ruby-runner * test/dtrace/helper.rb (DTrace::TestCase#trap_probe): ruby-runner cannot be the target of dtrace, use miniruby instead. ------------------------------------------------------------------------ r55734 | nobu | 2016-07-23 22:43:44 +0900 (Sat, 23 Jul 2016) | 3 lines internal.h: inline Check_Type * internal.h (Check_Type): inline check for the object type. ------------------------------------------------------------------------ r55733 | nobu | 2016-07-23 04:06:07 +0900 (Sat, 23 Jul 2016) | 4 lines ruby.h: use prefixed name * include/ruby/ruby.h (RTEST, NIL_P): use RUBY prefixed name in macros. ------------------------------------------------------------------------ r55732 | svn | 2016-07-23 01:43:13 +0900 (Sat, 23 Jul 2016) | 1 line * 2016-07-23 ------------------------------------------------------------------------ r55731 | normal | 2016-07-23 01:43:12 +0900 (Sat, 23 Jul 2016) | 6 lines webrick: filter out HTTP_PROXY for CGIHandler * lib/webrick/httpservlet/cgihandler.rb (do_GET): delete HTTP_PROXY * test/webrick/test_cgi.rb (test_cgi_env): new test * test/webrick/webrick.cgi (do_GET): new endpoint to dump env [ruby-core:76511] [Bug #12610] ------------------------------------------------------------------------ r55730 | hsbt | 2016-07-22 23:23:12 +0900 (Fri, 22 Jul 2016) | 1 line * ChangeLog: Fix wrong license name. ------------------------------------------------------------------------ r55729 | nobu | 2016-07-22 19:55:22 +0900 (Fri, 22 Jul 2016) | 7 lines Fix Issues reported by PVS-Studio static analyzer * vm.c (vm_set_main_stack): remove unnecessary check. toplevel binding must be initialized. [Bug #12611] (N1) * win32/win32.c (w32_symlink): fix return type. [Bug #12611] (N3) * string.c (rb_str_split_m): simplify the condition. [Bug #12611](N4) ------------------------------------------------------------------------ r55728 | duerst | 2016-07-22 17:13:38 +0900 (Fri, 22 Jul 2016) | 5 lines * string.c (String#dump): Change escaping of non-ASCII characters in UTF-8 to use upper-case four-digit hexadecimal escapes without braces where possible [Feature #12419]. * test/ruby/test_string.rb (test_dump): Add tests for above. ------------------------------------------------------------------------ r55727 | kou | 2016-07-22 10:43:17 +0900 (Fri, 22 Jul 2016) | 2 lines Fix a typo ------------------------------------------------------------------------ r55726 | kou | 2016-07-22 10:39:49 +0900 (Fri, 22 Jul 2016) | 5 lines * lib/rexml/attribute.rb (REXML::Attribute#to_string): Fix wrong entry reference name of double quote. [Bug#12609][ruby-core:76509] Patch by Joseph Marrero. Thanks!!! ------------------------------------------------------------------------ r55725 | duerst | 2016-07-22 10:32:20 +0900 (Fri, 22 Jul 2016) | 3 lines * template/unicode_norm_gen.tmpl: Remove UnicodeNormalize::UNICODE_VERSION at origin [Feature #12546]. ------------------------------------------------------------------------ r55724 | hsbt | 2016-07-22 09:24:01 +0900 (Fri, 22 Jul 2016) | 2 lines * LEGAL: Added entries for files under the USD license. [Bug #12598][ruby-core:76428][ci skip] ------------------------------------------------------------------------ r55723 | hsbt | 2016-07-22 09:20:10 +0900 (Fri, 22 Jul 2016) | 2 lines * LEGAL: Added entry for `lib/rdoc/generator/template/darkfish/css/fonts.css` [Misc #12550][ruby-core:76255][ci skip] ------------------------------------------------------------------------ r55722 | nobu | 2016-07-22 06:28:34 +0900 (Fri, 22 Jul 2016) | 4 lines gc.c: reduce EXEC_TAG * gc.c (run_finalizer): push and exec tag just once, instead of protecting for each finalizer. ------------------------------------------------------------------------ r55721 | svn | 2016-07-22 06:12:54 +0900 (Fri, 22 Jul 2016) | 1 line * 2016-07-22 ------------------------------------------------------------------------ r55720 | nobu | 2016-07-22 06:12:53 +0900 (Fri, 22 Jul 2016) | 4 lines gc.c: set finalizing * gc.c (gc_start_internal, rb_gc_start): set finalizing flag whenever calling deferred finalizers not to recurse. ------------------------------------------------------------------------ r55719 | hsbt | 2016-07-21 22:27:02 +0900 (Thu, 21 Jul 2016) | 3 lines * missing/strl{cat,cpy}.c: Update latest upstream files. [Misc #12205][ruby-core:74487] * LEGAL: Update license for missing/strl{cat,cpy}.c. ------------------------------------------------------------------------ r55718 | hsbt | 2016-07-21 21:54:09 +0900 (Thu, 21 Jul 2016) | 2 lines * LEGAL: added file list with CC0 license. [ruby-core:76254][Bug #12549] ------------------------------------------------------------------------ r55717 | usa | 2016-07-21 08:25:11 +0900 (Thu, 21 Jul 2016) | 2 lines * enc/unicode/data/8.0.0 (svn:ignore): also be ignored dotfiles. ------------------------------------------------------------------------ r55716 | usa | 2016-07-21 07:52:14 +0900 (Thu, 21 Jul 2016) | 3 lines * enc/unicode/data (svn:ignore): after r55701, this directory has versioned data. * enc/unicode/data/8.0.0 (svn:ignore): ignore downloaded files. ------------------------------------------------------------------------ r55715 | nobu | 2016-07-21 06:15:19 +0900 (Thu, 21 Jul 2016) | 4 lines enum.c: [DOC] Enumerable#uniq [ci skip] * enum.c (enum_uniq): add rdoc, reference to Array#uniq. [Feature #11090] ------------------------------------------------------------------------ r55714 | nobu | 2016-07-21 06:00:30 +0900 (Thu, 21 Jul 2016) | 4 lines NEWS: Enumerable#uniq [ci skip] * NEWS: mention Enumerable#uniq and Enumerator::Lazy#uniq. [Feature #11090] ------------------------------------------------------------------------ r55713 | kazu | 2016-07-21 01:00:12 +0900 (Thu, 21 Jul 2016) | 1 line Fix commit miss ------------------------------------------------------------------------ r55712 | svn | 2016-07-21 00:59:00 +0900 (Thu, 21 Jul 2016) | 1 line * 2016-07-21 ------------------------------------------------------------------------ r55711 | kazu | 2016-07-21 00:58:59 +0900 (Thu, 21 Jul 2016) | 1 line fix typos ------------------------------------------------------------------------ r55710 | nobu | 2016-07-20 17:44:08 +0900 (Wed, 20 Jul 2016) | 4 lines enumerator.c: Enumerator::Lazy#uniq * enumerator.c (lazy_uniq): new method Enumerator::Lazy#uniq. [Feature #11090] ------------------------------------------------------------------------ r55709 | nobu | 2016-07-20 17:39:12 +0900 (Wed, 20 Jul 2016) | 4 lines enum.c: Enumerable#uniq * enum.c (enum_uniq): new method Enumerable#uniq. [Feature #11090] ------------------------------------------------------------------------ r55708 | svn | 2016-07-20 17:35:26 +0900 (Wed, 20 Jul 2016) | 1 line * 2016-07-20 ------------------------------------------------------------------------ r55707 | nobu | 2016-07-20 17:35:25 +0900 (Wed, 20 Jul 2016) | 6 lines hash.c: rb_hash_add_new_element * hash.c (rb_hash_add_new_element): add new element or do nothing if it is contained already. * array.c (ary_add_hash, ary_add_hash_by): use rb_hash_add_new_element. ------------------------------------------------------------------------ r55706 | duerst | 2016-07-19 18:21:18 +0900 (Tue, 19 Jul 2016) | 3 lines * lib/unicode_normalize/tables.rb: Remove UnicodeNormalize::UNICODE_VERSION (#12546). ------------------------------------------------------------------------ r55705 | nobu | 2016-07-19 15:39:01 +0900 (Tue, 19 Jul 2016) | 4 lines variable.c: exclude private constants * variable.c (rb_local_constants_i): exclude private constants when excluding inherited constants too. [Bug #12345] ------------------------------------------------------------------------ r55704 | svn | 2016-07-19 01:01:53 +0900 (Tue, 19 Jul 2016) | 1 line * 2016-07-19 ------------------------------------------------------------------------ r55703 | kazu | 2016-07-19 01:01:52 +0900 (Tue, 19 Jul 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55702 | mrkn | 2016-07-17 23:53:00 +0900 (Sun, 17 Jul 2016) | 19 lines numeric.c, complex.c: Add finite? and infinite? consistent with Float * numeric.c (num_finite_p, num_infinite_p): Add Numeric#finite? and Numeric#infinite? [Feature #12039] [ruby-core:73618] * complex.c (rb_complex_finite_p): Add Complex#finite? * complex.c (rb_complex_infinite_p): Add Complex#infinite? * test/ruby/test_bignum.rb: Add test for Integer#finite? and Integer#infinite? * test/ruby/test_fixnum.rb: ditto. * test/ruby/test_rational.rb: Add test for Rational#finite? and Rational#infinite? * test/ruby/test_complex.rb: Add test for Complex#finite? and Complex#infinite? ------------------------------------------------------------------------ r55701 | nobu | 2016-07-17 20:59:26 +0900 (Sun, 17 Jul 2016) | 4 lines Move generated headers to unicode data directory * common.mk, enc/depend (casefold.h, name2ctype.h): move to unicode data directory per version. ------------------------------------------------------------------------ r55700 | svn | 2016-07-17 17:40:54 +0900 (Sun, 17 Jul 2016) | 1 line * 2016-07-17 ------------------------------------------------------------------------ r55699 | shyouhei | 2016-07-17 17:40:53 +0900 (Sun, 17 Jul 2016) | 2 lines * insns.def: tabify [ci skip] ------------------------------------------------------------------------ r55698 | nobu | 2016-07-16 21:41:23 +0900 (Sat, 16 Jul 2016) | 6 lines common.mk: INCFLAGS * common.mk (INCFLAGS): move from Makefile.in. * win32/Makefile.sub (XCFLAGS): missing directory is not neccessary as an include path. ------------------------------------------------------------------------ r55697 | usa | 2016-07-16 06:39:57 +0900 (Sat, 16 Jul 2016) | 2 lines * time.c (time_arg): revert r55688 beause it had no effect. retry... ------------------------------------------------------------------------ r55696 | nobu | 2016-07-16 06:26:02 +0900 (Sat, 16 Jul 2016) | 5 lines common.mk: directory timestamps * common.mk, enc/Makefile.in: moved timestamp files for directories under the specific directory, to get rid of match with files under the source directory. ------------------------------------------------------------------------ r55695 | svn | 2016-07-16 05:24:02 +0900 (Sat, 16 Jul 2016) | 1 line * 2016-07-16 ------------------------------------------------------------------------ r55694 | usa | 2016-07-16 05:24:01 +0900 (Sat, 16 Jul 2016) | 2 lines Revert r55693 because it broke building on all platforms (and had no ChangeLog). ------------------------------------------------------------------------ r55693 | nobu | 2016-07-15 23:08:20 +0900 (Fri, 15 Jul 2016) | 5 lines common.mk: directory timestamps * common.mk, enc/Makefile.in: moved timestamp files for directories under the specific directory, to get rid of match with files under the source directory. ------------------------------------------------------------------------ r55692 | ngoto | 2016-07-15 22:08:54 +0900 (Fri, 15 Jul 2016) | 3 lines * string.c (str_buf_cat): Fix potential interger overflow of capa. In addition, termlen is used instead of +1. ------------------------------------------------------------------------ r55691 | ngoto | 2016-07-15 21:35:52 +0900 (Fri, 15 Jul 2016) | 3 lines * string.c (str_buf_cat): Fix capa size for embed string. Fix bug in r55547. [Bug #12536] ------------------------------------------------------------------------ r55690 | hsbt | 2016-07-15 18:13:20 +0900 (Fri, 15 Jul 2016) | 1 line * gems/bundled_gems: update latest gems. ------------------------------------------------------------------------ r55689 | nobu | 2016-07-15 17:08:59 +0900 (Fri, 15 Jul 2016) | 5 lines util.c: do not underflow * util.c (ruby_strtod): do not underflow only by preceeding zeros, which may be canceled out by the exponent. http://twitter.com/kazuho/status/753829998767714305 ------------------------------------------------------------------------ r55688 | usa | 2016-07-15 15:35:37 +0900 (Fri, 15 Jul 2016) | 4 lines * time.c (time_arg): it seems that this function sometimes causes SEGV on mswin CI, then force to prevent `vtm->subsecx` from GC. this is experimental. ------------------------------------------------------------------------ r55687 | nobu | 2016-07-15 09:53:50 +0900 (Fri, 15 Jul 2016) | 4 lines enc/unicode: check Unicode versions * enc/unicode/case-folding.rb, tool/enc-unicode.rb: check if Unicode versions are consistent with each other. ------------------------------------------------------------------------ r55686 | normal | 2016-07-15 08:30:29 +0900 (Fri, 15 Jul 2016) | 51 lines string.c: reduce malloc overhead for default buffer size * string.c (STR_BUF_MIN_SIZE): reduce from 128 to 127 [ruby-core:76371] [Feature #12025] * string.c (rb_str_buf_new): adjust for above reduction From Jeremy Evans <code@jeremyevans.net>: This changes the minimum buffer size for string buffers from 128 to 127. The underlying C buffer is always 1 more than the ruby buffer, so this changes the actual amount of memory used for the minimum string buffer from 129 to 128. This makes it much easier on the malloc implementation, as evidenced by the following code (note that time -l is used here, but Linux systems may need time -v). $ cat bench_mem.rb i = ARGV.first.to_i Array.new(1000000){" " * i} $ /usr/bin/time -l ruby bench_mem.rb 128 3.10 real 2.19 user 0.46 sys 289080 maximum resident set size 72673 minor page faults 13 block output operations 29 voluntary context switches $ /usr/bin/time -l ruby bench_mem.rb 127 2.64 real 2.09 user 0.27 sys 162720 maximum resident set size 40966 minor page faults 2 block output operations 4 voluntary context switches To try to ensure a power-of-2 growth, when a ruby string capacity needs to be increased, after doubling the capacity, add one. This ensures the ruby capacity will be odd, which means actual amount of memory used will be even, which is probably better than the current case of the ruby capacity being even and the actual amount of memory used being odd. A very similar patch was proposed 4 years ago in feature #5875. It ended up being rejected, because no performance increase was shown. One reason for that is that ruby does not use STR_BUF_MIN_SIZE unless rb_str_buf_new is called, and that previously did not have a ruby API, only a C API, so unless you were using a C extension that called it, there would be no performance increase. With the recently proposed feature #12024, String.buffer is added, which is a ruby API for creating string buffers. Using String.buffer(100) wastes much less memory with this patch, as the malloc implementation can more easily deal with the power-of-2 sized memory usage. As measured above, memory usage is 44% less, and performance is 17% better. ------------------------------------------------------------------------ r55685 | nobu | 2016-07-15 01:32:13 +0900 (Fri, 15 Jul 2016) | 4 lines enc-unicode.rb: check Unicode version * tool/enc-unicode.rb (data_foreach): check Unicode version in data files, and yield each lines. ------------------------------------------------------------------------ r55684 | nobu | 2016-07-15 01:30:01 +0900 (Fri, 15 Jul 2016) | 1 line Download Unicode files just once [ci skip] ------------------------------------------------------------------------ r55683 | svn | 2016-07-15 00:35:39 +0900 (Fri, 15 Jul 2016) | 1 line * 2016-07-15 ------------------------------------------------------------------------ r55682 | kazu | 2016-07-15 00:35:38 +0900 (Fri, 15 Jul 2016) | 2 lines SVK is dead ------------------------------------------------------------------------ r55681 | kazu | 2016-07-14 21:49:26 +0900 (Thu, 14 Jul 2016) | 2 lines Remove empty directory ------------------------------------------------------------------------ r55680 | nobu | 2016-07-14 20:01:59 +0900 (Thu, 14 Jul 2016) | 4 lines common.mk: prefix for nmake * common.mk (incs): prefix to enc/unicode/name2ctype.h and enc/jis/props.h for nmake. ------------------------------------------------------------------------ r55679 | nobu | 2016-07-14 19:45:33 +0900 (Thu, 14 Jul 2016) | 3 lines Makefile.sub: update enc/unicode/name2ctype.h * win32/Makefile.sub (enc/unicode/name2ctype.h): remove stale recipe. ------------------------------------------------------------------------ r55678 | nobu | 2016-07-14 17:26:04 +0900 (Thu, 14 Jul 2016) | 7 lines common.mk: update enc/unicode/name2ctype.h * Makefile.in (enc/unicode/name2ctype.h): remove stale recipe, which did not support Unicode age properties. * common.mk (enc/unicode/name2ctype.h): update by --header option of tool/enc-unicode.rb. enc/unicode/name2ctype.kwd file has not been used. ------------------------------------------------------------------------ r55677 | nobu | 2016-07-14 15:46:53 +0900 (Thu, 14 Jul 2016) | 5 lines make-snapshot: fix VPATH regexp [ci skip] * tool/make-snapshot (package): replace nmake style VPATH in common.mk by regexp same as one for uncommon.mk, not to replace too much, BEGIN and END in awk and ruby. ------------------------------------------------------------------------ r55676 | nobu | 2016-07-14 13:42:50 +0900 (Thu, 14 Jul 2016) | 4 lines common.mk: rule for name2ctype.kwd * common.mk (enc/unicode/name2ctype.kwd): rule to create from Unicode data files, used only when the target does not exist. ------------------------------------------------------------------------ r55675 | nobu | 2016-07-14 13:10:56 +0900 (Thu, 14 Jul 2016) | 5 lines json/ext: remove stale directory * ext/json/lib/json/ext: remove stale directory. bundled extension libraries are placed under the directory for each architectures, but not mixed with plain text script libraries. ------------------------------------------------------------------------ r55674 | nobu | 2016-07-14 13:04:48 +0900 (Thu, 14 Jul 2016) | 3 lines Unicode version check * common.mk (RBCONFIG): check if Unicode versions match. ------------------------------------------------------------------------ r55673 | svn | 2016-07-14 12:48:55 +0900 (Thu, 14 Jul 2016) | 1 line * append newline at EOF. ------------------------------------------------------------------------ r55672 | svn | 2016-07-14 12:48:55 +0900 (Thu, 14 Jul 2016) | 1 line * 2016-07-14 ------------------------------------------------------------------------ r55671 | hsbt | 2016-07-14 12:48:54 +0900 (Thu, 14 Jul 2016) | 2 lines * ext/json/**/*.rb: merge original files from upstream repository. It only fixes styles of frozen string literal. ------------------------------------------------------------------------ r55670 | kazu | 2016-07-13 23:22:22 +0900 (Wed, 13 Jul 2016) | 1 line Fix file name in comment again ------------------------------------------------------------------------ r55669 | hsbt | 2016-07-13 22:27:08 +0900 (Wed, 13 Jul 2016) | 2 lines * test/json/json_common_interface_test.rb: use assert_raise instead of assert_raises. ------------------------------------------------------------------------ r55668 | svn | 2016-07-13 22:27:08 +0900 (Wed, 13 Jul 2016) | 1 line * properties. ------------------------------------------------------------------------ r55667 | hsbt | 2016-07-13 22:27:07 +0900 (Wed, 13 Jul 2016) | 3 lines * test/lib/test/unit.rb: added test files with `_test` suffix for json upstream. * test/json: merge original test files from json upstream. ------------------------------------------------------------------------ r55666 | duerst | 2016-07-13 18:09:47 +0900 (Wed, 13 Jul 2016) | 7 lines * enc/iso_8859_9.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-9, by Kazuki Iijima. * enc/iso_8859_9.c: Exclude dotless i/I with dot from case-insensitive matching because they are not a case pair. * test/ruby/enc/test_iso_8859.rb: Make test coverage for ISO-8859-9 a bit more complete. ------------------------------------------------------------------------ r55665 | duerst | 2016-07-13 17:21:29 +0900 (Wed, 13 Jul 2016) | 4 lines * enc/windows_1252.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for Windows-1252, by Serina Tai. * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings. ------------------------------------------------------------------------ r55664 | duerst | 2016-07-13 16:19:25 +0900 (Wed, 13 Jul 2016) | 4 lines * enc/iso_8859_7.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-7, by Kosuke Kurihara. * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings. ------------------------------------------------------------------------ r55663 | ko1 | 2016-07-13 16:08:32 +0900 (Wed, 13 Jul 2016) | 8 lines * gc.c (gc_mark_roots): should mark the VM object itself to mark singleton class of the VM object. Before this patch, we only set mark bit for the VM object and invoke mark function separately. [Bug #12583] * test/ruby/test_gc.rb: add a test. ------------------------------------------------------------------------ r55662 | usa | 2016-07-13 16:03:23 +0900 (Wed, 13 Jul 2016) | 6 lines * math.c (_USE_MATH_DEFINES): it must be set before including internal.h because internal.h includes ruby.h, ruby.h includes win32.h, and win32.h includes system's math.h. this change is to get rid of a compiler warning (redefinition of a macro) introduced at r55641. ------------------------------------------------------------------------ r55661 | nobu | 2016-07-13 15:32:37 +0900 (Wed, 13 Jul 2016) | 1 line Fix file names in comments ------------------------------------------------------------------------ r55660 | duerst | 2016-07-13 15:19:07 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_1.c, enc/iso_8859_4.c: Avoid setting modification flag if there is no modification. ------------------------------------------------------------------------ r55659 | naruse | 2016-07-13 14:47:48 +0900 (Wed, 13 Jul 2016) | 1 line fix type ------------------------------------------------------------------------ r55658 | duerst | 2016-07-13 14:40:12 +0900 (Wed, 13 Jul 2016) | 4 lines * enc/iso_8859_5.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-5, by Masaru Onodera. * test/ruby/enc/test_case_comprehensive.rb: Fix order of encodings. ------------------------------------------------------------------------ r55657 | naruse | 2016-07-13 14:29:30 +0900 (Wed, 13 Jul 2016) | 1 line * math.c (rb_math_sqrt): r55646 must use f_signbit. ------------------------------------------------------------------------ r55656 | ko1 | 2016-07-13 14:26:00 +0900 (Wed, 13 Jul 2016) | 12 lines * iseq.c (Init_ISeq): undef ISeq.translate and ISeq.load_iseq to prevent calling super classes' methods. Without this patch, you can write workaround like: class << RubyVM::InstructionSequence def translate; end undef translate end * test/ruby/test_iseq.rb: add a test. ------------------------------------------------------------------------ r55655 | ko1 | 2016-07-13 14:19:12 +0900 (Wed, 13 Jul 2016) | 6 lines * vm_method.c (method_entry_get_without_cache): check undefined method even if ruby_running is FALSE. We haven't call "undef"ed methods before ruby_running. So that this issue does not make troubles. ------------------------------------------------------------------------ r55654 | duerst | 2016-07-13 14:15:28 +0900 (Wed, 13 Jul 2016) | 2 lines * enc/windows_1254.c: Adjust variable/macro names. ------------------------------------------------------------------------ r55653 | duerst | 2016-07-13 13:19:17 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_9.c, enc/windows_1254.c: Split Windows-1254 from ISO-8859-9 to be able to implement different case conversions. ------------------------------------------------------------------------ r55652 | duerst | 2016-07-13 13:08:36 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_7.c, enc/windows_1253.c: Split Windows-1253 from ISO-8859-7 to be able to implement different case conversions. ------------------------------------------------------------------------ r55651 | duerst | 2016-07-13 10:50:17 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_13.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-13, by Kanon Shindo. ------------------------------------------------------------------------ r55650 | duerst | 2016-07-13 10:31:44 +0900 (Wed, 13 Jul 2016) | 3 lines * enc/iso_8859_13.c, enc/windows_1257.c: Split Windows-1257 from ISO-8859-13 to be able to implement different case conversions. ------------------------------------------------------------------------ r55649 | svn | 2016-07-13 09:02:35 +0900 (Wed, 13 Jul 2016) | 1 line * 2016-07-13 ------------------------------------------------------------------------ r55648 | duerst | 2016-07-13 09:02:34 +0900 (Wed, 13 Jul 2016) | 7 lines * enc/iso_8859_3.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-3, by Takuya Miyamoto. * test/ruby/enc/test_case_comprehensive.rb: Extend special treatment for Turkic. * enc/iso_8859_3.c: Exclude dotless i/I with dot from case-insensitive matching because they are not a case pair. ------------------------------------------------------------------------ r55647 | duerst | 2016-07-13 08:40:26 +0900 (Wed, 13 Jul 2016) | 3 lines * test/ruby/enc/test_iso_8859.rb: Excluded dotless i/I with dot from case-insensitive matching because they are not a case pair. ------------------------------------------------------------------------ r55646 | nobu | 2016-07-12 23:13:46 +0900 (Tue, 12 Jul 2016) | 4 lines math.c: Complex sqrt * math.c (rb_math_sqrt): [EXPERIMENTAL] move Complex sqrt support from mathn.rb. ------------------------------------------------------------------------ r55645 | nobu | 2016-07-12 22:17:04 +0900 (Tue, 12 Jul 2016) | 4 lines complex.c: rb_complex prefix * complex.c (rb_complex_plus, rb_complex_mul): rename to rb_complex prefix. ------------------------------------------------------------------------ r55644 | nobu | 2016-07-12 22:07:51 +0900 (Tue, 12 Jul 2016) | 4 lines math.c: get_double_rshift * math.c (get_double_rshift): extract bignum to double conversion with bit offset. ------------------------------------------------------------------------ r55643 | duerst | 2016-07-12 21:59:46 +0900 (Tue, 12 Jul 2016) | 3 lines * revert r55642 (previous commit) because of test failure at https://travis-ci.org/ruby/ruby/builds/144148780 ------------------------------------------------------------------------ r55642 | duerst | 2016-07-12 21:33:17 +0900 (Tue, 12 Jul 2016) | 5 lines * enc/iso_8859_3.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-3, by Takuya Miyamoto. * test/ruby/enc/test_case_comprehensive.rb: Extend special treatment for Turkic. ------------------------------------------------------------------------ r55641 | nobu | 2016-07-12 20:53:43 +0900 (Tue, 12 Jul 2016) | 4 lines math.c: use common constants * math.c (math_log1, math_log10): use common math constants instead of math function calls. ------------------------------------------------------------------------ r55640 | svn | 2016-07-12 01:30:04 +0900 (Tue, 12 Jul 2016) | 1 line * 2016-07-12 ------------------------------------------------------------------------ r55639 | svn | 2016-07-12 01:30:04 +0900 (Tue, 12 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55638 | usa | 2016-07-12 01:30:03 +0900 (Tue, 12 Jul 2016) | 8 lines * configure.in, lib/mkmf.rb, win32/Makefile.sub (CSRCFLAG): make the compiler option replacable in Makefile. * win32/Makefile.sub (OUTFLAG, COUTFLAG): ditto. * win32/Makeile.sub, win32/setup.mak (CC): should not append `-nologo` option forcely. ------------------------------------------------------------------------ r55634 | akr | 2016-07-11 23:08:49 +0900 (Mon, 11 Jul 2016) | 2 lines describe RUBY_INTEGER_UNIFICATION. ------------------------------------------------------------------------ r55632 | duerst | 2016-07-11 18:05:53 +0900 (Mon, 11 Jul 2016) | 3 lines * enc/iso_8859_1.c: Moved test for lowercase characters without uppercase equivalent. ------------------------------------------------------------------------ r55631 | duerst | 2016-07-11 17:49:38 +0900 (Mon, 11 Jul 2016) | 4 lines * enc/iso_8859_4.c, enc/iso_8859_10.c, enc/iso_8859_14.c, enc/iso_8859_15.c, enc/iso_8859_16.c: Replace case-by-case code with lookup in ENC_ISO_8859_xx_TO_LOWER_CASE table. ------------------------------------------------------------------------ r55630 | svn | 2016-07-11 16:00:59 +0900 (Mon, 11 Jul 2016) | 1 line * 2016-07-11 ------------------------------------------------------------------------ r55629 | nobu | 2016-07-11 16:00:58 +0900 (Mon, 11 Jul 2016) | 5 lines stringio.c: convert arguments just once * ext/stringio/stringio.c (strio_each, strio_readlines): convert arguments just once before reading, instead of conversions for each lines, as r55603. ------------------------------------------------------------------------ r55628 | nobu | 2016-07-10 23:28:25 +0900 (Sun, 10 Jul 2016) | 1 line enc/iso_8859_4.c: adjust indent [ci skip] ------------------------------------------------------------------------ r55627 | duerst | 2016-07-10 19:53:45 +0900 (Sun, 10 Jul 2016) | 3 lines * enc/iso_8859_10.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-10, by Toya Hosokawa. ------------------------------------------------------------------------ r55626 | duerst | 2016-07-10 19:33:51 +0900 (Sun, 10 Jul 2016) | 6 lines * test/ruby/enc/test_case_comprehensive.rb: Changed testing logic in to catch unintended modifications of characters that do not have a case equivalent in the respective encoding. * enc/iso_8859_1.c, enc/iso_8859_15.c: Fixed unintended modifications of micro sign and y with diaeresis. ------------------------------------------------------------------------ r55625 | svn | 2016-07-10 17:05:40 +0900 (Sun, 10 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55624 | duerst | 2016-07-10 17:05:39 +0900 (Sun, 10 Jul 2016) | 3 lines * enc/iso_8859_4.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-4, by Kotaro Yoshida. ------------------------------------------------------------------------ r55623 | duerst | 2016-07-10 16:17:51 +0900 (Sun, 10 Jul 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Fixed a comment (message belongs to last commit). [ci skip] ------------------------------------------------------------------------ r55622 | duerst | 2016-07-10 16:14:34 +0900 (Sun, 10 Jul 2016) | 1 line ------------------------------------------------------------------------ r55621 | nobu | 2016-07-10 14:27:27 +0900 (Sun, 10 Jul 2016) | 5 lines util.c: round nearly middle value * util.c (ruby_dtoa): [EXPERIMENTAL] adjust the case that the Float value is close to the exact but unrepresentable middle value of two values in the given precision, as r55604. ------------------------------------------------------------------------ r55620 | svn | 2016-07-10 08:57:54 +0900 (Sun, 10 Jul 2016) | 1 line * 2016-07-10 ------------------------------------------------------------------------ r55619 | hsbt | 2016-07-10 08:57:52 +0900 (Sun, 10 Jul 2016) | 1 line * thread.c: Fixed implicit conversion error with Apple clang-800.0.31 ------------------------------------------------------------------------ r55618 | usa | 2016-07-09 12:51:14 +0900 (Sat, 09 Jul 2016) | 2 lines * ChangeLog: shugo, you lose. ------------------------------------------------------------------------ r55617 | shugo | 2016-07-09 12:47:14 +0900 (Sat, 09 Jul 2016) | 3 lines * tool/mkconfig.rb: use true instead of TRUE. * lib/getoptlong.rb: use false instead of FALSE. ------------------------------------------------------------------------ r55616 | svn | 2016-07-09 11:44:40 +0900 (Sat, 09 Jul 2016) | 1 line * 2016-07-09 ------------------------------------------------------------------------ r55615 | nobu | 2016-07-09 11:44:39 +0900 (Sat, 09 Jul 2016) | 4 lines Use keyword * tool/mkconfig.rb: use keyword true, instead of the toplevel constant. ------------------------------------------------------------------------ r55614 | kazu | 2016-07-08 22:22:23 +0900 (Fri, 08 Jul 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55613 | ngoto | 2016-07-08 21:51:36 +0900 (Fri, 08 Jul 2016) | 3 lines * thread.c (rb_wait_for_single_fd): Clean up fds.revents every time before calling ppoll(2). [Bug #12575] [ruby-dev:49725] ------------------------------------------------------------------------ r55612 | nobu | 2016-07-08 14:38:16 +0900 (Fri, 08 Jul 2016) | 4 lines numeric.c: round as double * numeric.c (flo_round): compare as double, not long double with i387. ------------------------------------------------------------------------ r55611 | shugo | 2016-07-08 14:21:54 +0900 (Fri, 08 Jul 2016) | 2 lines * vm_args.c (vm_caller_setup_arg_block): call rb_sym_to_proc() directly to reduce method dispatch overhead. ------------------------------------------------------------------------ r55610 | shugo | 2016-07-08 08:46:51 +0900 (Fri, 08 Jul 2016) | 2 lines * io.c (rb_io_s_read): add description of pipes to the documentation of IO.read. ------------------------------------------------------------------------ r55609 | naruse | 2016-07-08 03:59:38 +0900 (Fri, 08 Jul 2016) | 4 lines * vm_args.c (setup_parameters_complex): don't raise ArgumentError if an array is given for instance_exec with optional argument. [ruby-core:76300] [Bug #12568] https://github.com/rails/rails/pull/25699 ------------------------------------------------------------------------ r55608 | naruse | 2016-07-08 03:59:38 +0900 (Fri, 08 Jul 2016) | 1 line suppress warnings: unused variables ------------------------------------------------------------------------ r55607 | svn | 2016-07-08 00:49:18 +0900 (Fri, 08 Jul 2016) | 1 line * 2016-07-08 ------------------------------------------------------------------------ r55606 | naruse | 2016-07-08 00:49:17 +0900 (Fri, 08 Jul 2016) | 7 lines * vm_eval.c (yield_under): change prototype to get argc/argv. * vm_eval.c (specific_eval): change for above. * vm_eval.c (rb_obj_instance_exec): avoid object allocation. * vm_eval.c (rb_mod_module_exec): ditto. ------------------------------------------------------------------------ r55605 | shugo | 2016-07-07 20:08:52 +0900 (Thu, 07 Jul 2016) | 3 lines * vm_args.c (vm_caller_setup_arg_block): disable symbol block argument optimization when tail call optimization is enabled, in order to avoid SEGV. [ruby-core:76288] [Bug #12565] ------------------------------------------------------------------------ r55604 | nobu | 2016-07-07 16:37:55 +0900 (Thu, 07 Jul 2016) | 6 lines numeric.c: round nearly middle value * numeric.c (flo_round): [EXPERIMENTAL] adjust the case that the receiver is close to the exact but unrepresentable middle value of two values in the given precision. http://d.hatena.ne.jp/hnw/20160702 ------------------------------------------------------------------------ r55603 | nobu | 2016-07-07 16:31:09 +0900 (Thu, 07 Jul 2016) | 4 lines io.c: convert arguments just once * io.c (rb_io_s_foreach, rb_io_s_readlines): convert arguments just once before reading, instead of conversions for each lines. ------------------------------------------------------------------------ r55602 | naruse | 2016-07-07 03:17:36 +0900 (Thu, 07 Jul 2016) | 3 lines require "rbconfig/sizeof" They may fail parallel test-all ------------------------------------------------------------------------ r55601 | svn | 2016-07-07 01:05:58 +0900 (Thu, 07 Jul 2016) | 1 line * 2016-07-07 ------------------------------------------------------------------------ r55600 | usa | 2016-07-07 01:05:57 +0900 (Thu, 07 Jul 2016) | 2 lines * tool/redmine-backporter.rb: fixed command alias bug. ------------------------------------------------------------------------ r55597 | ngoto | 2016-07-06 22:26:53 +0900 (Wed, 06 Jul 2016) | 3 lines enc/iso_8859_14.c: Fix compile error by old version of fcc on Solaris 10. [Bug #12559] ------------------------------------------------------------------------ r55596 | svn | 2016-07-06 19:54:25 +0900 (Wed, 06 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55595 | duerst | 2016-07-06 19:54:24 +0900 (Wed, 06 Jul 2016) | 3 lines * enc/iso_8859_14.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-14, by Yutaro Tada. ------------------------------------------------------------------------ r55594 | svn | 2016-07-06 19:24:51 +0900 (Wed, 06 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55593 | duerst | 2016-07-06 19:24:50 +0900 (Wed, 06 Jul 2016) | 3 lines * enc/iso_8859_1.c, enc/iso_8859_15.c, enc/iso_8859_16.c: Allign indenting to onigmo convention. ------------------------------------------------------------------------ r55592 | svn | 2016-07-06 18:59:24 +0900 (Wed, 06 Jul 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55591 | duerst | 2016-07-06 18:59:23 +0900 (Wed, 06 Jul 2016) | 3 lines * enc/iso_8859_15.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-15, by Maho Harada. ------------------------------------------------------------------------ r55590 | duerst | 2016-07-06 18:34:23 +0900 (Wed, 06 Jul 2016) | 3 lines * enc/iso_8859_16.c, test/ruby/enc/test_case_comprehensive.rb: Implement non-ASCII case conversion for ISO-8859-16, by Satoshi Kayama. ------------------------------------------------------------------------ r55589 | nobu | 2016-07-06 14:48:13 +0900 (Wed, 06 Jul 2016) | 5 lines Update dependencies * common.mk (compile.o, loadpath.o): update dependencies. * common.mk (vm_call.o): remove stale object dependencies. ------------------------------------------------------------------------ r55588 | nobu | 2016-07-06 14:44:58 +0900 (Wed, 06 Jul 2016) | 8 lines Local header dependencies * lib/mkmf.rb (create_makefile): store $headers in LOCAL_HDRS for depend files. * ext/digest/digest_conf.rb (digest_conf): add implementation specific headers to $header. * ext/digest/{md5,rmd160,sha1,sha2}/depend: add LOCAL_HDRS to the dependencies. ------------------------------------------------------------------------ r55587 | nobu | 2016-07-06 14:44:35 +0900 (Wed, 06 Jul 2016) | 1 line Ignore -save-temps=obj files ------------------------------------------------------------------------ r55586 | nobu | 2016-07-06 14:37:14 +0900 (Wed, 06 Jul 2016) | 4 lines update-deps: exclude timestamps * tool/update-deps (concentrate): exclude timestamps for directories. ------------------------------------------------------------------------ r55585 | nobu | 2016-07-06 14:37:13 +0900 (Wed, 06 Jul 2016) | 4 lines update-deps: for clang * tool/update-deps (read_single_cc_deps): clang may not include the current working directory name in .i files. ------------------------------------------------------------------------ r55584 | nobu | 2016-07-06 14:03:14 +0900 (Wed, 06 Jul 2016) | 7 lines probes.dmyh: remove preprocessor directives * tool/gen_dummy_probes.rb: remove include and conditional directives from probes.dmyh which are removed by preprocessing. * common.mk: remove unnecessary dependencies on vm_opts.h via probes.dmyh. ------------------------------------------------------------------------ r55583 | nobu | 2016-07-06 14:01:43 +0900 (Wed, 06 Jul 2016) | 1 line Revert ext/json/parser/prereq.mk ------------------------------------------------------------------------ r55582 | shugo | 2016-07-06 09:16:17 +0900 (Wed, 06 Jul 2016) | 1 line Add an assertion. ------------------------------------------------------------------------ r55581 | shugo | 2016-07-06 09:01:20 +0900 (Wed, 06 Jul 2016) | 2 lines * lib/net/http/generic_rquest.rb (write_header): A Request-Line must not contain CR or LF. ------------------------------------------------------------------------ r55580 | svn | 2016-07-06 07:14:18 +0900 (Wed, 06 Jul 2016) | 1 line * 2016-07-06 ------------------------------------------------------------------------ r55579 | shugo | 2016-07-06 07:14:18 +0900 (Wed, 06 Jul 2016) | 2 lines * lib/net/ftp.rb (putline): raise an ArgumentError when CR or LF is included in a line. ------------------------------------------------------------------------ r55578 | svn | 2016-07-05 20:49:40 +0900 (Tue, 05 Jul 2016) | 1 line * properties. ------------------------------------------------------------------------ r55577 | svn | 2016-07-05 20:49:40 +0900 (Tue, 05 Jul 2016) | 1 line * append newline at EOF. ------------------------------------------------------------------------ r55576 | hsbt | 2016-07-05 20:49:39 +0900 (Tue, 05 Jul 2016) | 4 lines * ext/json/*, test/json/*: Update json-2.0.1. Changes of 2.0.0: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2015-09-11-200 Changes of 2.0.1: https://github.com/flori/json/blob/f679ebd0c69a94e3e70a897ac9a229f5779c2ee1/CHANGES.md#2016-07-01-201 [Feature #12542][ruby-dev:49706][fix GH-1395] ------------------------------------------------------------------------ r55575 | ngoto | 2016-07-05 19:45:23 +0900 (Tue, 05 Jul 2016) | 21 lines * string.c (rb_str_change_terminator_length): New function to change termlen and resize heap for the terminator. This is split from rb_str_fill_terminator (str_fill_term) because filling terminator and changing terminator length are different things. [Bug #12536] * internal.h: declaration for rb_str_change_terminator_length. * string.c (str_fill_term): Simplify only to zero-fill the terminator. For non-shared strings, it assumes that (capa + termlen) bytes of heap is allocated. This partially reverts r55557. * encoding.c (rb_enc_associate_index): rb_str_change_terminator_length is used, and it should be called whenever the termlen is changed. * string.c (str_capacity): New static function to return capacity of a string with the given termlen, because the termlen may sometimes be different from TERM_LEN(str) especially during changing termlen or filling terminator with specific termlen. * string.c (rb_str_capacity): Use str_capacity. ------------------------------------------------------------------------ r55574 | svn | 2016-07-05 11:08:56 +0900 (Tue, 05 Jul 2016) | 1 line * 2016-07-05 ------------------------------------------------------------------------ r55573 | naruse | 2016-07-05 11:08:55 +0900 (Tue, 05 Jul 2016) | 5 lines * pack.c (pack_pack): use union instead of bare variable to ease optimizations and avoid assigning x87 floating point number. [ruby-core:74496] [Bug #12209] * pack.c (pack_unpack): ditto. ------------------------------------------------------------------------ r55572 | naruse | 2016-07-04 16:05:00 +0900 (Mon, 04 Jul 2016) | 1 line fix typo ------------------------------------------------------------------------ r55571 | naruse | 2016-07-04 13:57:27 +0900 (Mon, 04 Jul 2016) | 2 lines * process.c: define sig_t if not exist. at least Solaris 10 and 11 doesn't have sig_t. ------------------------------------------------------------------------ r55570 | svn | 2016-07-04 13:09:52 +0900 (Mon, 04 Jul 2016) | 1 line * 2016-07-04 ------------------------------------------------------------------------ r55569 | naruse | 2016-07-04 13:09:51 +0900 (Mon, 04 Jul 2016) | 2 lines * random.c (random_ulong_limited): avoid left shift count >= width of type on 32bit environment. ------------------------------------------------------------------------ r55568 | kazu | 2016-07-03 22:23:27 +0900 (Sun, 03 Jul 2016) | 1 line fix a typo and indent [ci skip] ------------------------------------------------------------------------ r55567 | duerst | 2016-07-03 18:51:46 +0900 (Sun, 03 Jul 2016) | 5 lines * test/ruby/enc/test_case_comprehensive.rb, test_regex_casefold.rb, test/test_unicode_normalize.rb: Replace UNICODE_VERSION from UnicodeNormalize with RbConfig::CONFIG['UNICODE_VERSION'] from feature 12460. ------------------------------------------------------------------------ r55566 | normal | 2016-07-03 06:13:26 +0900 (Sun, 03 Jul 2016) | 14 lines process.c (disable_child_handler_fork_child): simplify signal(2) is portable for SIG_DFL and SIG_IGN, so we do not need the extra code for sigaction(2). Also, execve will reset all signal handlers to default anyways, so there is little sense in preserving old signal handler besides SIG_IGN. Hopefully this makes the code easier-to-understand and maintain. * process.c (disable_child_handler_fork_child): simplify [ruby-core:75781] [Misc #12439] ------------------------------------------------------------------------ r55565 | svn | 2016-07-03 06:01:05 +0900 (Sun, 03 Jul 2016) | 1 line * 2016-07-03 ------------------------------------------------------------------------ r55564 | normal | 2016-07-03 06:01:04 +0900 (Sun, 03 Jul 2016) | 36 lines tool: add descriptions and fix typos * tool/asm_parse.rb: add description * tool/change_maker.rb: ditto * tool/downloader.rb: ditto * tool/eval.rb: ditto * tool/expand-config.rb: ditto * tool/extlibs.rb: ditto * tool/fake.rb: ditto * tool/file2lastrev.rb: ditto * tool/gem-unpack.rb: ditto * tool/gen_dummy_probes.rb: ditto * tool/gen_ruby_tapset.rb: ditto * tool/generic_erb.rb: ditto * tool/id2token.rb: ditto * tool/ifchange: ditto * tool/insns2vm.rb: ditto * tool/instruction.rb: ditto * tool/jisx0208.rb: ditto * tool/merger.rb: ditto * tool/mkrunnable.rb: ditto * tool/node_name.rb: ditto * tool/parse.rb: ditto * tool/rbinstall.rb: ditto * tool/rbuninstall.rb: ditto * tool/rmdirs: ditto * tool/runruby.rb: ditto * tool/strip-rdoc.rb: ditto * tool/vcs.rb: ditto * tool/vtlh.rb: ditto * tool/ytab.sed: ditto * tool/enc-unicode.rb: fix typo * tool/mk_call_iseq_optimized.rb: ditto * tool/update-deps: ditto [ruby-core:76215] [Bug #12539] by Noah Gibbs <the.codefolio.guy@gmail.com> ------------------------------------------------------------------------ r55563 | naruse | 2016-07-02 18:05:05 +0900 (Sat, 02 Jul 2016) | 4 lines * lib/uri/mailto.rb (initialize): RFC3986_Parser#split sets opaque only if the URI has path-rootless, not path-empty. [ruby-core:76055] [Bug #12498] patched by Chris Heisterkamp <cheister@squareup.com> ------------------------------------------------------------------------ r55562 | naruse | 2016-07-02 04:37:43 +0900 (Sat, 02 Jul 2016) | 6 lines * regcomp.c (noname_disable_map): don't optimize out group 0 Ruby's Regexp doesn't allow normal numbered groups if the regexp has named groups. On such case it optimizes out related NT_ENCLOSE. But even on the case it can use \g<0>. This fix not to remove NT_ENCLOSE whose regnum is 0. [ruby-core:75828] [Bug #12454] ------------------------------------------------------------------------ r55559 | ngoto | 2016-07-02 03:11:11 +0900 (Sat, 02 Jul 2016) | 4 lines * string.c: Partially reverts r55547 and r55555. ChangeLog about the reverted changes are also deleted in this file. [Bug #12536] [ruby-dev:49699] [ruby-dev:49702] ------------------------------------------------------------------------ r55558 | svn | 2016-07-02 02:32:22 +0900 (Sat, 02 Jul 2016) | 1 line * 2016-07-02 ------------------------------------------------------------------------ r55557 | ngoto | 2016-07-02 02:32:21 +0900 (Sat, 02 Jul 2016) | 5 lines * string.c (str_fill_term): When termlen increases, re-allocation of memory for termlen should always be needed. In this fix, if possible, decrease capa instead of realloc. [Bug #12536] [ruby-dev:49699] ------------------------------------------------------------------------ r55556 | kazu | 2016-07-01 21:00:07 +0900 (Fri, 01 Jul 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55555 | ngoto | 2016-07-01 20:24:11 +0900 (Fri, 01 Jul 2016) | 24 lines * string.c: Specify termlen as far as possible. Additional fix for [Bug #12536] [ruby-dev:49699]. * string.c (rb_usascii_str_new, rb_utf8_str_new): Specify termlen which is apparently 1 for the encodings. * string.c (str_new0_cstr): New static function to create a String object from a C string with specifying termlen. * string.c (rb_usascii_str_new_cstr, rb_utf8_str_new_cstr): Specify termlen by using new str_new0_cstr(). * string.c (str_new_static): Specify termlen from the given encoding when creating a new String object is needed. * string.c (rb_tainted_str_new_with_enc): New function to create a tainted String object with the given encoding. This means that the termlen is correctly specified. Curretly static function. The function name might be renamed to rb_tainted_enc_str_new or rb_enc_tainted_str_new. * string.c (rb_external_str_new_with_enc): Use encoding by using the above rb_tainted_str_new_with_enc(). ------------------------------------------------------------------------ r55554 | ngoto | 2016-07-01 19:43:07 +0900 (Fri, 01 Jul 2016) | 5 lines * test/fiddle/test_pointer.rb (test_to_str, test_to_s, test_aref_aset): Attempt to use independent strings for destructive tests that directly modify values on memory by using Fiddle::Pointer. [Bug #12537] [ruby-dev:49700] ------------------------------------------------------------------------ r55553 | naruse | 2016-07-01 18:24:59 +0900 (Fri, 01 Jul 2016) | 2 lines * .gdbinit (rb_ps_thread): show the detail of cfunc in ruby level backtrace. ------------------------------------------------------------------------ r55552 | ngoto | 2016-07-01 13:50:38 +0900 (Fri, 01 Jul 2016) | 5 lines * string.c (rb_str_subseq, str_substr): When RSTRING_EMBED_LEN_MAX is used, TERM_LEN(str) should be considered with it because embedded strings are also processed by TERM_FILL. Additional fix for [Bug #12536] [ruby-dev:49699]. ------------------------------------------------------------------------ r55551 | ngoto | 2016-07-01 12:58:51 +0900 (Fri, 01 Jul 2016) | 2 lines string.c: Add parentheses to avoid C source code ambiguity. [Bug #12536] ------------------------------------------------------------------------ r55550 | naruse | 2016-07-01 12:13:41 +0900 (Fri, 01 Jul 2016) | 1 line * .gdbinit (rb_count_objects): added gdb version of count_objects(). ------------------------------------------------------------------------ r55549 | svn | 2016-07-01 04:36:39 +0900 (Fri, 01 Jul 2016) | 1 line * 2016-07-01 ------------------------------------------------------------------------ r55548 | naruse | 2016-07-01 04:36:38 +0900 (Fri, 01 Jul 2016) | 5 lines * .gdbinit (rb_ps_thread): show ruby level backtrace. Usually you can call `rb_ps` to show ruby leve backtraces for all living threads. Note that it can call with core file like `gcore <pid>` and `gdb ruby core.<pid>`. ------------------------------------------------------------------------ r55547 | ngoto | 2016-06-30 19:20:23 +0900 (Thu, 30 Jun 2016) | 27 lines * string.c: Fix memory corruptions when using UTF-16/32 strings. [Bug #12536] [ruby-dev:49699] * string.c (TERM_LEN_MAX): Macro for the longest TERM_FILL length, the same as largest value of rb_enc_mbminlen(enc) among encodings. * string.c (str_new, rb_str_buf_new, str_shared_replace): Allocate +TERM_LEN_MAX bytes instead of +1. This change may increase memory usage. * string.c (rb_str_new_with_class): Use TERM_LEN of the "obj". * string.c (rb_str_plus, rb_str_justify): Use str_new0 which is aware of termlen. * string.c (str_shared_replace): Copy +termlen bytes instead of +1. * string.c (rb_str_times): termlen should not be included in capa. * string.c (RESIZE_CAPA_TERM): When using RSTRING_EMBED_LEN_MAX, termlen should be counted with it because embedded strings are also processed by TERM_FILL. * string.c (rb_str_capacity, str_shared_replace, str_buf_cat): ditto. * string.c (rb_str_drop_bytes, rb_str_setbyte, str_byte_substr): ditto. ------------------------------------------------------------------------ r55546 | nobu | 2016-06-30 17:24:11 +0900 (Thu, 30 Jun 2016) | 3 lines case-folding.rb: define version numbers * enc/unicode/case-folding.rb: define Unicode version numbers. ------------------------------------------------------------------------ r55545 | nobu | 2016-06-30 17:13:28 +0900 (Thu, 30 Jun 2016) | 4 lines case-folding.rb: check version numbers * enc/unicode/case-folding.rb: check if version numbers in each data files match. ------------------------------------------------------------------------ r55544 | nobu | 2016-06-30 17:13:27 +0900 (Thu, 30 Jun 2016) | 4 lines test_stringio.rb: reduce retry count * test/stringio/test_stringio.rb (test_overflow): reduce maximum retry count to get rid of timeout on some platforms. ------------------------------------------------------------------------ r55543 | nobu | 2016-06-30 16:31:06 +0900 (Thu, 30 Jun 2016) | 5 lines Move unicode tables timestamp * common.mk (.unicode-tables.time): move from the top source directory to the unicode source data directory which contains its version number. ------------------------------------------------------------------------ r55542 | nobu | 2016-06-30 14:45:35 +0900 (Thu, 30 Jun 2016) | 4 lines Magic numbers * ext/cgi/escape/escape.c (optimized_unescape_html): remove magic numbers for literal lengths. ------------------------------------------------------------------------ r55541 | svn | 2016-06-30 13:16:44 +0900 (Thu, 30 Jun 2016) | 1 line * 2016-06-30 ------------------------------------------------------------------------ r55540 | nobu | 2016-06-30 13:16:43 +0900 (Thu, 30 Jun 2016) | 4 lines Initialize ID * ext/cgi/escape/escape.c (accept_charset): initialize the static ID for theha class variable once at first. ------------------------------------------------------------------------ r55539 | hsbt | 2016-06-29 22:24:56 +0900 (Wed, 29 Jun 2016) | 1 line * ext/psych/lib/psych_jars.rb: removed needless file required to JRuby. ------------------------------------------------------------------------ r55538 | rhe | 2016-06-29 22:21:54 +0900 (Wed, 29 Jun 2016) | 4 lines openssl: fix for OpenSSL 1.0.0t * ext/openssl/ossl_ocsp.c: The "reuse" behavior of d2i_ functions does not work well with OpenSSL 1.0.0t. So avoid it. ------------------------------------------------------------------------ r55537 | kazu | 2016-06-29 21:37:37 +0900 (Wed, 29 Jun 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55536 | naruse | 2016-06-29 15:23:38 +0900 (Wed, 29 Jun 2016) | 2 lines * insns.def (opt_succ): optimize like r55515. (but this argument is consntant) ------------------------------------------------------------------------ r55535 | nobu | 2016-06-29 13:37:14 +0900 (Wed, 29 Jun 2016) | 4 lines VC6 error * win32/win32.c (GetSystemWindowsDirectoryW): use GetWindowsDirectoryW for VC6. ------------------------------------------------------------------------ r55534 | nobu | 2016-06-29 13:37:13 +0900 (Wed, 29 Jun 2016) | 5 lines VC6 error * random.c (int_pair_to_real_inclusive): get rid of VC6 compile error C2520: conversion from unsigned __int64 to double not implemented. ------------------------------------------------------------------------ r55533 | nobu | 2016-06-29 13:37:12 +0900 (Wed, 29 Jun 2016) | 4 lines Use LONG_LONG * missing/crypt.h (B64): use LONG_LONG instead of long long directly. ------------------------------------------------------------------------ r55532 | shugo | 2016-06-29 12:45:23 +0900 (Wed, 29 Jun 2016) | 3 lines * test/ruby/test_refinement.rb: skip test_prepend_after_refine_wb_miss on ARM or MIPS. [ruby-core:76031] [Bug #12491] ------------------------------------------------------------------------ r55531 | nobu | 2016-06-29 08:45:55 +0900 (Wed, 29 Jun 2016) | 5 lines Passed block symbol to proc * proc.c (passed_block): convert passed block symbol to proc. based on the patch by Daisuke Sato in [ruby-dev:49695]. [Bug #12531] ------------------------------------------------------------------------ r55530 | nobu | 2016-06-29 07:03:00 +0900 (Wed, 29 Jun 2016) | 6 lines Octal mode in un.rb * lib/fileutils.rb (FileUtils#symbolic_modes_to_i): revert r55524. * lib/un.rb (install, chmod): support octal mode string. fix up r55513. ------------------------------------------------------------------------ r55529 | svn | 2016-06-29 03:42:13 +0900 (Wed, 29 Jun 2016) | 1 line * 2016-06-29 ------------------------------------------------------------------------ r55528 | naruse | 2016-06-29 03:42:12 +0900 (Wed, 29 Jun 2016) | 11 lines * bignum.c (rb_big2ulong): the old logic seems to try to avoid calculating `-(long)(num-1)-1` if `num` is not LONG_MIN. (Note that `-LONG_MIN` may be larger than LONG_MAX) But C compilers can optimize it into single NEG instruction. Therefore those two conditions can be single if-body. * bignum.c (rb_big2long): ditto. * bignum.c (rb_big2ull): ditto. * bignum.c (rb_big2ll): ditto. ------------------------------------------------------------------------ r55527 | nobu | 2016-06-28 22:55:02 +0900 (Tue, 28 Jun 2016) | 4 lines PStore::CHECKSUM_ALGO * lib/pstore.rb (PStore::CHECKSUM_ALGO): extract the algorithm for checksum, instead of qualified names for each times. ------------------------------------------------------------------------ r55526 | nobu | 2016-06-28 22:29:38 +0900 (Tue, 28 Jun 2016) | 5 lines bootstraptest/runner.rb may run on older ruby * bootstraptest/runner.rb: do not use safe navigation operator. this runner may run on older ruby. partially revert r53110 (GH-1142 patched by @mlarraz). ------------------------------------------------------------------------ r55525 | arton | 2016-06-28 22:14:48 +0900 (Tue, 28 Jun 2016) | 4 lines Tue Jun 28 22:09:09 2017 Akio Tajima <artonx@yahoo.co.jp> * lib/fileutils.rb: rescue Errno:EACCES for chown. [Bug #12520] ------------------------------------------------------------------------ r55524 | nobu | 2016-06-28 21:33:28 +0900 (Tue, 28 Jun 2016) | 4 lines Octal mode * lib/fileutils.rb (symbolic_modes_to_i): support octal mode string. fix up r55513. ------------------------------------------------------------------------ r55523 | ngoto | 2016-06-28 18:42:29 +0900 (Tue, 28 Jun 2016) | 11 lines * ext/digest/md5/md5ossl.h: Remove excess semicolons. Suppress warning on Solaris with Oracle Solaris Studio 12. [ruby-dev:49692] [Bug #12524] * ext/digest/md5/md5cc.h: ditto. * ext/digest/sha1/sha1cc.h: ditto. * ext/digest/sha1/sha1ossl.h: ditto. * ext/digest/sha2/sha2cc.h: ditto. * ext/digest/sha2/sha2ossl.h: ditto. * ext/openssl/ossl_pkey_rsa.c: ditto. ------------------------------------------------------------------------ r55522 | nobu | 2016-06-28 16:04:13 +0900 (Tue, 28 Jun 2016) | 4 lines Move CaseTest * test/ruby/enc/test_case_comprehensive.rb (CaseTest): move under the test case not to pollute the global name space. ------------------------------------------------------------------------ r55521 | nobu | 2016-06-28 15:56:50 +0900 (Tue, 28 Jun 2016) | 6 lines Skip unavailable tests * test/ruby/enc/test_case_comprehensive.rb: noting to test if Unicode data files are available. [ruby-core:76160] [Bug #12433] * test/test_unicode_normalize.rb: ditto. ------------------------------------------------------------------------ r55520 | nobu | 2016-06-28 15:20:20 +0900 (Tue, 28 Jun 2016) | 4 lines Cache no proxy case * lib/net/http.rb (Net::HTTP#proxy_uri): cache the case no proxy is used. ------------------------------------------------------------------------ r55519 | nobu | 2016-06-28 15:19:58 +0900 (Tue, 28 Jun 2016) | 4 lines Use conditional operator * lib/net/http.rb (Net::HTTP#proxy): use conditional operator to get rid of confusing ruby-mode.el. ------------------------------------------------------------------------ r55518 | naruse | 2016-06-28 13:38:32 +0900 (Tue, 28 Jun 2016) | 3 lines Revert "Use gperf 3.0.4" It is wrong commit. ------------------------------------------------------------------------ r55517 | nobu | 2016-06-28 09:56:31 +0900 (Tue, 28 Jun 2016) | 3 lines Fix typo [ci skip] * object.c (rb_mod_eqq): [DOC] Fix typo in RDoc. [Fix GH-1393] ------------------------------------------------------------------------ r55516 | svn | 2016-06-28 03:30:16 +0900 (Tue, 28 Jun 2016) | 1 line * 2016-06-28 ------------------------------------------------------------------------ r55515 | naruse | 2016-06-28 03:30:12 +0900 (Tue, 28 Jun 2016) | 12 lines * insns.def (opt_plus): use `- 1` instead of `& (~1)` to allow compilers to use x86 LEA instruction (3 operand). Even if 3 operand LEA's latency is 3 cycle after SandyBridge, it reduces code size and can be faster because of super scalar. * insns.def (opt_plus): calculate and use rb_int2big. On positive Fixnum overflow, `recv - 1 + obj` doesn't carry because recv's msb and obj's msb are 0, and resulted msb is 1. Therefore simply rshift and cast as signed long works fine. On negative Fixnum overflow, it will carry because both arguments' msb are 1, and resulted msb is also 1. In this case it needs to restore carried sign bit after rshift. ------------------------------------------------------------------------ r55514 | naruse | 2016-06-28 03:30:12 +0900 (Tue, 28 Jun 2016) | 1 line Use gperf 3.0.4 ------------------------------------------------------------------------ r55513 | nobu | 2016-06-27 16:58:34 +0900 (Mon, 27 Jun 2016) | 4 lines FileUtils#install: symbolic mode * lib/fileutils.rb (FileUtils#install): accecpt symbolic mode, as well as chmod. ------------------------------------------------------------------------ r55512 | nobu | 2016-06-27 16:55:17 +0900 (Mon, 27 Jun 2016) | 4 lines FileUtils#install: owner/group options * lib/fileutils.rb (FileUtils#install): add owner and group options. ------------------------------------------------------------------------ r55511 | nobu | 2016-06-27 10:24:46 +0900 (Mon, 27 Jun 2016) | 4 lines Refactor * lib/fileutils.rb (FileUtils::Entry_#copy_metadata): eliminate common statements. ------------------------------------------------------------------------ r55510 | svn | 2016-06-27 08:56:58 +0900 (Mon, 27 Jun 2016) | 1 line * 2016-06-27 ------------------------------------------------------------------------ r55509 | nobu | 2016-06-27 08:56:57 +0900 (Mon, 27 Jun 2016) | 6 lines Coverage on non-positive lines * compile.c (ADD_TRACE): ignore trace instruction on non-positive line. * parse.y (coverage): get rid of ArgumentError when the starting line number is not positive. [ruby-core:76141] [Bug #12517] ------------------------------------------------------------------------ r55508 | nobu | 2016-06-26 19:35:53 +0900 (Sun, 26 Jun 2016) | 4 lines Convert arguments first * ext/win32/lib/Win32API.rb (Win32API#initialize): convert arguments before dlopen. ------------------------------------------------------------------------ r55507 | nobu | 2016-06-26 10:20:27 +0900 (Sun, 26 Jun 2016) | 9 lines Explicit ".dll" suffix * ext/win32/lib/Win32API.rb (Win32API#initialize): Cygwin 2.5.2-1 (perhaps) seems to no longer append ".dll" suffix implicitly. * ext/win32/lib/win32/resolv.rb (Win32::Resolv): ditto. Fix the error reported by yamataka AT u08.itscom.net in [ruby-list:50339], and pointed out and patched by cerberus AT m3.kcn.ne.jp in [ruby-list:50341]. ------------------------------------------------------------------------ r55506 | svn | 2016-06-26 09:28:14 +0900 (Sun, 26 Jun 2016) | 1 line * 2016-06-26 ------------------------------------------------------------------------ r55505 | nobu | 2016-06-26 09:28:13 +0900 (Sun, 26 Jun 2016) | 4 lines Remove -jN option * {cygwin,template}/GNUmakefile.in (MAKEFLAGS): remove -jN option from MAKEFLAGS as well as MFLAGS. ------------------------------------------------------------------------ r55504 | kazu | 2016-06-25 17:54:41 +0900 (Sat, 25 Jun 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55503 | nobu | 2016-06-25 11:32:06 +0900 (Sat, 25 Jun 2016) | 3 lines Refine assertion * test/openssl/test_ocsp.rb: assert_in_delta for better message. ------------------------------------------------------------------------ r55502 | rhe | 2016-06-25 10:08:15 +0900 (Sat, 25 Jun 2016) | 4 lines openssl: ignore test failure caused by LibreSSL bug * test/openssl/test_ocsp.rb: Ignore errors caused by bugs that exist in LibreSSL >= 2.3.1. ------------------------------------------------------------------------ r55501 | svn | 2016-06-25 02:33:36 +0900 (Sat, 25 Jun 2016) | 1 line * 2016-06-25 ------------------------------------------------------------------------ r55500 | nobu | 2016-06-25 02:33:35 +0900 (Sat, 25 Jun 2016) | 5 lines No respond_to? as if the default definition * vm_method.c (vm_respond_to): try method_missing if respond_to? is undefined, as if it is the default definition. [ruby-core:75377] [Bug #12353] ------------------------------------------------------------------------ r55499 | hsbt | 2016-06-24 18:07:22 +0900 (Fri, 24 Jun 2016) | 1 line Fixed accidentally commit miss. ------------------------------------------------------------------------ r55498 | svn | 2016-06-24 18:06:09 +0900 (Fri, 24 Jun 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55497 | hsbt | 2016-06-24 18:06:08 +0900 (Fri, 24 Jun 2016) | 2 lines * ext/psych/*, test/psych/*: Upate psych 2.1.0 This version fixed [Bug #11988][ruby-core:72850] ------------------------------------------------------------------------ r55496 | nobu | 2016-06-24 14:29:28 +0900 (Fri, 24 Jun 2016) | 4 lines Read CaseFolding.txt in binary mode * enc/unicode/case-folding.rb (CaseFolding#load): read in binary mode to deal with non-ASCII charater in CaseFolding.txt. ------------------------------------------------------------------------ r55495 | hsbt | 2016-06-24 13:13:11 +0900 (Fri, 24 Jun 2016) | 4 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems 2.6.5 and 2.6.6. Release note of 2.6.5: https://github.com/rubygems/rubygems/commit/656f5d94dc888d78d0d00f3598a4fa37391aac80 Release note of 2.6.6: https://github.com/rubygems/rubygems/commit/ccb9c3300c063f5b5656669972d24a10ef8afbf5 ------------------------------------------------------------------------ r55494 | nobu | 2016-06-24 09:23:46 +0900 (Fri, 24 Jun 2016) | 3 lines touch * enc/unicode/case-folding.rb: touch the destination file. ------------------------------------------------------------------------ r55493 | svn | 2016-06-24 09:17:18 +0900 (Fri, 24 Jun 2016) | 1 line * 2016-06-24 ------------------------------------------------------------------------ r55492 | nobu | 2016-06-24 09:17:17 +0900 (Fri, 24 Jun 2016) | 9 lines Updating casefold.h * common.mk (lib/unicode_normalize/tables.rb): should not depend on Unicode data files unless ALWAYS_UPDATE_UNICODE=yes, to get rid of downloading Unicode data unnecessary. [ruby-dev:49681] * common.mk (enc/unicode/casefold.h): update Unicode files in a sub-make, not to let the header depend on the files always. * enc/unicode/case-folding.rb: if gperf is not usable, assume the existing file is OK. ------------------------------------------------------------------------ r55491 | naruse | 2016-06-23 21:42:48 +0900 (Thu, 23 Jun 2016) | 8 lines Revert r55486,r55488,r55489 They breaks build: http://rubyci.s3.amazonaws.com/debian/ruby-trunk/log/20160623T123002Z.fail.html.gz Revert "Unicode files for casefold.h" Revert "casefold.h dependency" Revert "Get rid of downloading Unicode data" ------------------------------------------------------------------------ r55490 | svn | 2016-06-23 14:27:36 +0900 (Thu, 23 Jun 2016) | 1 line * 2016-06-23 ------------------------------------------------------------------------ r55489 | nobu | 2016-06-23 14:27:35 +0900 (Thu, 23 Jun 2016) | 4 lines Unicode files for casefold.h * common.mk (enc/unicode/casefold.h): update Unicode files in a sub-make, not to let the header depend on the files always. ------------------------------------------------------------------------ r55488 | nobu | 2016-06-22 22:02:28 +0900 (Wed, 22 Jun 2016) | 4 lines casefold.h dependency * common.mk (enc/unicode/casefold.h): add dependency and update by incs. ------------------------------------------------------------------------ r55487 | svn | 2016-06-22 17:29:26 +0900 (Wed, 22 Jun 2016) | 1 line * 2016-06-22 ------------------------------------------------------------------------ r55486 | nobu | 2016-06-22 17:29:25 +0900 (Wed, 22 Jun 2016) | 5 lines Get rid of downloading Unicode data * common.mk (lib/unicode_normalize/tables.rb): should not depend on Unicode data files unless ALWAYS_UPDATE_UNICODE=yes, to get rid of downloading Unicode data unnecessary. [ruby-dev:49681] ------------------------------------------------------------------------ r55485 | duerst | 2016-06-21 19:44:57 +0900 (Tue, 21 Jun 2016) | 3 lines * test/ruby/enc/test_regex_casefold.rb: Add Windows-1251, KOI8-R, and KOI8-U to encodings; definitely removed EUC-JP. ------------------------------------------------------------------------ r55484 | nobu | 2016-06-21 19:32:26 +0900 (Tue, 21 Jun 2016) | 6 lines Multiple values X-Forwarded-Proto in webrick * lib/webrick/httprequest.rb (setup_forwarded_info): Use the first value in X-Forwarded-Proto, if header contains multiple comma separated values. Some middlewares may add these values to the list, not replacing. [Fix GH-1386] ------------------------------------------------------------------------ r55483 | nobu | 2016-06-21 17:19:59 +0900 (Tue, 21 Jun 2016) | 5 lines CASEMAP_DEBUG [ci skip] * string.c (rb_str_casemap, rb_str_ascii_casemap): move debug/tuning messages under a preprocessor condition, CASEMAP_DEBUG. ------------------------------------------------------------------------ r55482 | duerst | 2016-06-21 17:17:50 +0900 (Tue, 21 Jun 2016) | 8 lines * test/ruby/test_io.rb: Skip test_readpartial_with_not_empty_buffer, test_read_buffer_error, test_read_unlocktmp_ensure, test_readpartial_unlocktmp_ensure, and test_sysread_unlocktmp_ensure on cygwin, because these tests repeatedly hang. This makes test_io.rb complete in finite time on cygwin. * ChangeLog: Fix test_in.rb -> test_io.rb (two instances). ------------------------------------------------------------------------ r55481 | nobu | 2016-06-21 16:38:16 +0900 (Tue, 21 Jun 2016) | 5 lines Fix garbage allocation * string.c (rb_str_casemap): do not put code with side effects inside RSTRING_PTR() macro which evaluates the argument multiple times. ------------------------------------------------------------------------ r55480 | naruse | 2016-06-21 16:14:05 +0900 (Tue, 21 Jun 2016) | 1 line * string.c (rb_str_casemap): fix memory leak. ------------------------------------------------------------------------ r55479 | naruse | 2016-06-21 16:14:04 +0900 (Tue, 21 Jun 2016) | 1 line * string.c (rb_str_casemap): int is too small for string size. ------------------------------------------------------------------------ r55478 | naruse | 2016-06-21 16:14:03 +0900 (Tue, 21 Jun 2016) | 19 lines It takes still too many memory... /usr/bin/time -l make RUBYOPT=-w TESTS='-v ruby/enc/test_case_comprehensive.rb' test-all ruby -v: ruby 2.4.0dev (2016-06-21 trunk 55473) [x86_64-freebsd10.3] 27.74 real 27.57 user 0.16 sys 115308 maximum resident set size 5 average shared memory size 4 average unshared data size 128 average unshared stack size 28443 page reclaims 0 page faults 0 swaps 2 block input operations 0 block output operations 0 messages sent 0 messages received 0 signals received 93 voluntary context switches 1123 involuntary context switches ------------------------------------------------------------------------ r55477 | duerst | 2016-06-21 15:42:27 +0900 (Tue, 21 Jun 2016) | 3 lines * test/ruby/test_in.rb: Skip test_read_buffer_error on cygwin, because this test repeatedly hangs. ------------------------------------------------------------------------ r55476 | duerst | 2016-06-21 15:35:24 +0900 (Tue, 21 Jun 2016) | 3 lines * LEGAL: Added filenames and copyrights for some files in enc/trans/JIS. ------------------------------------------------------------------------ r55475 | naruse | 2016-06-21 04:01:37 +0900 (Tue, 21 Jun 2016) | 1 line Optimize to speed up ------------------------------------------------------------------------ r55474 | naruse | 2016-06-21 03:27:45 +0900 (Tue, 21 Jun 2016) | 1 line Don't cache simple data to reduce memory usage ------------------------------------------------------------------------ r55473 | nobu | 2016-06-21 00:56:49 +0900 (Tue, 21 Jun 2016) | 5 lines Fix calling convention * win32/win32.c (get_special_folder): fix calling convention of SHGetPathFromIDListEx, which should be WINAPI. pointed out by @arton at http://twitter.com/arton/status/744884064277016576 ------------------------------------------------------------------------ r55472 | svn | 2016-06-21 00:22:05 +0900 (Tue, 21 Jun 2016) | 1 line * 2016-06-21 ------------------------------------------------------------------------ r55471 | nobu | 2016-06-21 00:22:04 +0900 (Tue, 21 Jun 2016) | 5 lines RUBY_USE_SETJMPEX * configure.in, include/ruby/defines.h (RUBY_USE_SETJMPEX): include setjmpex.h only when using setjmpex() for RUBY_SETJMP. the header of mingw32 overrides setjmp() by setjmpex(). ------------------------------------------------------------------------ r55470 | nobu | 2016-06-20 20:00:17 +0900 (Mon, 20 Jun 2016) | 7 lines Name USE_NAME_ON_FS constants * dir.c (USE_NAME_ON_FS): name constants. * USE_NAME_ON_FS_REAL_BASENAME: platform dependent APIs to get real basenames. * USE_NAME_ON_FS_BY_FNMATCH: select the matching basename by fnmatch. ------------------------------------------------------------------------ r55469 | nobu | 2016-06-20 20:00:02 +0900 (Mon, 20 Jun 2016) | 1 line tabify ------------------------------------------------------------------------ r55468 | duerst | 2016-06-20 18:39:31 +0900 (Mon, 20 Jun 2016) | 4 lines * test/ruby/test_in.rb: Skip test_open_fifo_does_not_block_other_threads on cygwin. Fifos seem to work okay in cygwin, but this test repeatedly hangs. ------------------------------------------------------------------------ r55467 | nobu | 2016-06-20 17:40:11 +0900 (Mon, 20 Jun 2016) | 4 lines Update cygwin/GNUmakefile.in * cygwin/GNUmakefile.in: remove -jN option from submake, and include defs/gmake.mk to serialize test targets. ------------------------------------------------------------------------ r55465 | akr | 2016-06-20 16:35:05 +0900 (Mon, 20 Jun 2016) | 2 lines update description about rb_cFixnum and rb_cBignum. ------------------------------------------------------------------------ r55462 | shugo | 2016-06-20 13:37:19 +0900 (Mon, 20 Jun 2016) | 4 lines * vm.c (invoke_bmethod, invoke_block_from_c_0): revert r52104 partially to avoid "self has wrong type to call super in this context" errors. [ruby-core:72724] [Bug #11954] ------------------------------------------------------------------------ r55461 | svn | 2016-06-20 12:54:23 +0900 (Mon, 20 Jun 2016) | 1 line * 2016-06-20 ------------------------------------------------------------------------ r55460 | rhe | 2016-06-20 12:54:22 +0900 (Mon, 20 Jun 2016) | 6 lines rubygems: fix test for OpenSSL 1.1.0 * test/rubygems/test_gem_remote_fetcher.rb: OpenSSL::PKey::DH#priv_key= is not defined when ext/openssl is built with OpenSSL 1.1.0. https://github.com/rubygems/rubygems/pull/1648 [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55457 | rhe | 2016-06-19 21:26:27 +0900 (Sun, 19 Jun 2016) | 27 lines openssl: add OpenSSL::OCSP::SingleResponse * ext/openssl/ossl_ocsp.c: Add OCSP::SingleResponse that represents an OCSP SingleResponse structure. Also add two new methods #responses and #find_response to OCSP::BasicResponse. A BasicResponse has one or more SingleResponse. We have OCSP::BasicResponse#status that returns them as an array of arrays, each containing the content of a SingleResponse, but this is not useful. When validating an OCSP response, we need to look into the each SingleResponse and check their validity but it is not simple. For example, when validating for a certificate 'cert', the code would be like: # certid_target is an OpenSSL::OCSP::CertificateId for cert basic = res.basic result = basic.status.any? do |ary| ary[0].cmp(certid_target) && ary[4] <= Time.now && (!ary[5] || Time.now <= ary[5]) end Adding OCSP::SingleResponse at the same time allows exposing OCSP_check_validity(). With this, the code above can be rewritten as: basic = res.basic single = basic.find_response(certid_target) result = single.check_validity * test/openssl/test_ocsp.rb: Test this. ------------------------------------------------------------------------ r55456 | rhe | 2016-06-19 18:42:30 +0900 (Sun, 19 Jun 2016) | 14 lines openssl: allow passing absolute times in OCSP::BasicResponse#add_status * ext/openssl/ossl_ocsp.c (ossl_ocspbres_add_status): Allow specifying the times (thisUpdate, nextUpdate and revocationTime) with Time objects. Currently they accepts only relative seconds from the current time. This is inconvenience, especially for revocationTime. When Integer is passed, they are still treated as relative times. Since the type check is currently done with rb_Integer(), this is a slightly incompatible change. Hope no one passes a relative time as String or Time object... Also, allow passing nil as nextUpdate. It is optional. * ext/openssl/ruby_missing.h: Define RB_INTEGER_TYPE_P() if not defined. openssl gem will be released before Ruby 2.4.0. ------------------------------------------------------------------------ r55455 | rhe | 2016-06-19 18:42:29 +0900 (Sun, 19 Jun 2016) | 7 lines openssl: implement initialize_copy for OpenSSL::OCSP::* * ext/openssl/ossl_ocsp.c: Implement OCSP::{CertificateId,Request, BasicResponse,Response}#initialize_copy. [ruby-core:75504] [Bug #12381] * test/openssl/test_ocsp.rb: Test them. ------------------------------------------------------------------------ r55454 | rhe | 2016-06-19 18:29:59 +0900 (Sun, 19 Jun 2016) | 11 lines openssl: implement initialize_copy method for PKey classes * ext/openssl/ossl_pkey_dh.c, ext/openssl/ossl_pkey_dsa.c, ext/openssl/ossl_pkey_ec.c, ext/openssl/ossl_pkey_rsa.c: Implement initialize_copy method for OpenSSL::PKey::*. [ruby-core:75504] [Bug #12381] * test/openssl/test_pkey_dh.rb, test/openssl/test_pkey_dsa.rb, test/openssl/test_pkey_ec.rb, test/openssl/test_pkey_rsa.rb: Test they actually copy the OpenSSL objects, and modifications to cloned object don't affect the original object. ------------------------------------------------------------------------ r55453 | duerst | 2016-06-19 16:55:25 +0900 (Sun, 19 Jun 2016) | 6 lines * test/ruby/test_dir_m17n.rb: Skip tests with non-UTF-8 encodings on cygwin. Cygwin can use the Unicode PUA (private use area) to store bytes from non-UTF-8 filenames (see https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-specialchars), but we are not supporting this. [Bug #12443] ------------------------------------------------------------------------ r55452 | svn | 2016-06-19 15:01:26 +0900 (Sun, 19 Jun 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55451 | duerst | 2016-06-19 15:01:25 +0900 (Sun, 19 Jun 2016) | 3 lines * localeinit.c: Fix filesystem encoding for cygwin to UTF-8 (see https://cygwin.com/cygwin-ug-net/using-specialnames.html#pathnames-unusual) ------------------------------------------------------------------------ r55450 | rhe | 2016-06-19 14:31:28 +0900 (Sun, 19 Jun 2016) | 7 lines openssl: add 'const's required in OpenSSL master * ext/openssl/ossl_pkey.h, ext/openssl/ossl_pkey_dh.c, ext/openssl/ossl_pkey_dsa.c, ext/openssl/ossl_pkey_rsa.c: A few days ago, OpenSSL changed {DH,DSA,RSA}_get0_*() to take const BIGNUM **. https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=fd809cfdbd6e32b6b67b68c59f6d55fbed7a9327 [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55449 | nobu | 2016-06-19 11:19:45 +0900 (Sun, 19 Jun 2016) | 4 lines variable.c: consider length * variable.c (rb_path_to_class): consider the string length instead of a terminator. ------------------------------------------------------------------------ r55448 | nobu | 2016-06-19 10:54:42 +0900 (Sun, 19 Jun 2016) | 4 lines variable.c: rb_const_search * variable.c (rb_path_to_class): search the constant at once instead of checking if defined and then getting it. ------------------------------------------------------------------------ r55447 | svn | 2016-06-19 10:48:27 +0900 (Sun, 19 Jun 2016) | 1 line * 2016-06-19 ------------------------------------------------------------------------ r55446 | nobu | 2016-06-19 10:48:27 +0900 (Sun, 19 Jun 2016) | 4 lines Normalization test iff UTF-8 file system * test/ruby/test_file_exhaustive.rb (test_expand_path_compose): normalization is meaningless unless file system encoding is UTF. ------------------------------------------------------------------------ r55444 | rhe | 2016-06-18 18:10:19 +0900 (Sat, 18 Jun 2016) | 19 lines openssl: avoid test crash on Ubuntu 16.04 * test/openssl/test_pkey_ec.rb (setup): Don't call EC#generate_key! for Oakley-* curves. This causes an odd error on Ubuntu 16.04 with openssl 1.0.2g-1ubuntu4.1. begin OpenSSL::PKey::EC.new("Oakley-EC2N-4").generate_key rescue p $! end OpenSSL::PKey::RSA.new(512) This sometimes causes: #<OpenSSL::PKey::ECError: EC_KEY_generate_key: pairwise test failed> fips.c(139): OpenSSL internal error, assertion failed: FATAL FIPS SELFTEST FAILURE [ruby-dev:49670] [Bug #12504] ------------------------------------------------------------------------ r55443 | hsbt | 2016-06-18 14:11:57 +0900 (Sat, 18 Jun 2016) | 2 lines * test/rubygems/test_gem_installer.rb: Fixed broken test with extension build. https://github.com/rubygems/rubygems/pull/1645 ------------------------------------------------------------------------ r55442 | svn | 2016-06-18 14:11:57 +0900 (Sat, 18 Jun 2016) | 1 line * properties. ------------------------------------------------------------------------ r55441 | hsbt | 2016-06-18 14:11:55 +0900 (Sat, 18 Jun 2016) | 3 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems HEAD(2c6d256). It contains to update vendored Molinillo to 0.5.0. https://github.com/rubygems/rubygems/pull/1638 ------------------------------------------------------------------------ r55440 | nobu | 2016-06-18 13:50:14 +0900 (Sat, 18 Jun 2016) | 4 lines Refine test of r55432 * test/stringio/test_stringio.rb (test_overflow): could occur only on sizeof(long) >= sizeof(void*). ------------------------------------------------------------------------ r55439 | nobu | 2016-06-18 13:40:15 +0900 (Sat, 18 Jun 2016) | 5 lines Refine test of r55432 * test/stringio/test_stringio.rb (test_overflow): refine the conditinon, try to allocate strings until the buffer is located in higher half address. ------------------------------------------------------------------------ r55438 | nobu | 2016-06-18 11:25:28 +0900 (Sat, 18 Jun 2016) | 4 lines Integer conversion * ext/bigdecimal/bigdecimal.c: use NUM2INT and NUM2USHORT to reject nil. ------------------------------------------------------------------------ r55437 | nobu | 2016-06-18 11:25:27 +0900 (Sat, 18 Jun 2016) | 4 lines Suppress false warnings * vsnprintf.c (BSD_vfprintf): make PRI_EXTRA_MARK_LEN an explicit int to suppress type-limits warnings by old gcc. ------------------------------------------------------------------------ r55436 | nobu | 2016-06-18 10:50:49 +0900 (Sat, 18 Jun 2016) | 4 lines Suppress false warnings * vm_eval.c (rb_eval_cmd): refactor to share common code, and suppress false maybe-uninitialized warnings by old gcc. ------------------------------------------------------------------------ r55435 | nobu | 2016-06-18 10:50:46 +0900 (Sat, 18 Jun 2016) | 4 lines Unnecessary volatile * vm_eval.c (rb_yield_splat, eval_string_with_cref): remove unnecessary volatile outside PUSH_TAG/POP_TAG. ------------------------------------------------------------------------ r55434 | nobu | 2016-06-18 10:13:39 +0900 (Sat, 18 Jun 2016) | 6 lines Fix static-linked-ext encodings * common.mk (build-ext), ext/extmk.rb: use variable EXTENCS different than ENCOBJS, to get rid of circular dependency. build libencs when linking encodings statically. [ruby-core:75618] [Bug #12401] ------------------------------------------------------------------------ r55433 | svn | 2016-06-18 08:52:49 +0900 (Sat, 18 Jun 2016) | 1 line * 2016-06-18 ------------------------------------------------------------------------ r55432 | nobu | 2016-06-18 08:52:48 +0900 (Sat, 18 Jun 2016) | 4 lines stringio.c: fix index overflow * ext/stringio/stringio.c (strio_getline): fix pointer index overflow. reported by Guido Vranken <guido AT guidovranken.nl>. ------------------------------------------------------------------------ r55431 | svn | 2016-06-17 17:45:06 +0900 (Fri, 17 Jun 2016) | 1 line * 2016-06-17 ------------------------------------------------------------------------ r55430 | nobu | 2016-06-17 17:45:05 +0900 (Fri, 17 Jun 2016) | 6 lines Unnecessary checks * ext/bigdecimal/bigdecimal.c: FIX2INT and FIX2UINT imply the check for Fixnum. * ext/zlib/zlib.c: ditto. ------------------------------------------------------------------------ r55429 | nobu | 2016-06-16 16:35:37 +0900 (Thu, 16 Jun 2016) | 4 lines prevent rb_cObject from GC * class.c (Init_class_hierarchy): prevent rb_cObject which is the class tree root, from GC. [ruby-dev:49666] [Bug #12492] ------------------------------------------------------------------------ r55428 | nobu | 2016-06-16 12:17:54 +0900 (Thu, 16 Jun 2016) | 4 lines string.c: adjust buffer size * string.c (tr_trans): adjust buffer size by processed and rest lengths, instead of doubling repeatedly. ------------------------------------------------------------------------ r55427 | nobu | 2016-06-16 11:15:27 +0900 (Thu, 16 Jun 2016) | 4 lines string.c: fix terminator * string.c (tr_trans): consider terminator length and fix heap overflow. reported by Guido Vranken <guido AT guidovranken.nl>. ------------------------------------------------------------------------ r55424 | svn | 2016-06-16 00:02:47 +0900 (Thu, 16 Jun 2016) | 1 line * 2016-06-16 ------------------------------------------------------------------------ r55423 | rhe | 2016-06-16 00:02:46 +0900 (Thu, 16 Jun 2016) | 7 lines openssl: refactor OpenSSL::OCSP::*#verify * ext/openssl/ossl_ocsp.c (ossl_ocspreq_verify, ossl_ocspbres_verify): Use ossl_clear_error() so that they don't print warnings to stderr and leak errors in the OpenSSL error queue. Also, check the return value of OCSP_*_verify() correctly. They can return -1 on verification failure. ------------------------------------------------------------------------ r55422 | rhe | 2016-06-15 19:52:37 +0900 (Wed, 15 Jun 2016) | 9 lines openssl: allow specifying hash algorithm in OCSP::*#sign * ext/openssl/ossl_ocsp.c (ossl_ocspreq_sign, ossl_ocspbres_sign): Allow specifying hash algorithm used in signing. They are hard coded to use SHA-1. Based on a patch provided by Tim Shirley <tidoublemy@gmail.com>. [ruby-core:70915] [Feature #11552] [GH ruby/openssl#28] * test/openssl/test_ocsp.rb: Test sign-verify works. ------------------------------------------------------------------------ r55421 | nobu | 2016-06-15 15:26:52 +0900 (Wed, 15 Jun 2016) | 4 lines date_core.c: remove assert * ext/date/date_core.c (decode_jd): do not assert type of argument. just try to convert. ------------------------------------------------------------------------ r55420 | nobu | 2016-06-15 15:26:51 +0900 (Wed, 15 Jun 2016) | 4 lines date_core.c: missing argument * ext/date/date_core.c (d_lite_initialize): fix missing argument for write-barrier. ------------------------------------------------------------------------ r55419 | nobu | 2016-06-15 10:44:43 +0900 (Wed, 15 Jun 2016) | 4 lines thread.c: fix thread_id formatting * thread.c (debug_deadlock_check): fix format specifier for thread_id, which may not be a pointer, nor even a scalar value. ------------------------------------------------------------------------ r55418 | nobu | 2016-06-15 01:46:18 +0900 (Wed, 15 Jun 2016) | 4 lines numeric.c: fix doc of Integer#digits [ci skip] * numeric.c: [DOC] fix rdoc directive, and an example of negative value. [ruby-core:76025] [Bug #12487] ------------------------------------------------------------------------ r55417 | nobu | 2016-06-15 01:44:45 +0900 (Wed, 15 Jun 2016) | 5 lines Unicode Version in RbConfig * tool/mkconfig.rb: provide Unicode Version information as RbConfig::CONFIG['UNICODE_VERSION']. [ruby-core:75845] [Feature #12460] ------------------------------------------------------------------------ r55416 | svn | 2016-06-15 00:01:38 +0900 (Wed, 15 Jun 2016) | 1 line * 2016-06-15 ------------------------------------------------------------------------ r55415 | kazu | 2016-06-15 00:01:37 +0900 (Wed, 15 Jun 2016) | 5 lines use \A and \z instead of ^ and $ in regexp * test/ruby/enc/test_case_comprehensive.rb (TestComprehensiveCaseFold::read_data): use \A and \z instead of ^ and $ in regexp. ------------------------------------------------------------------------ r55414 | kazu | 2016-06-14 23:59:01 +0900 (Tue, 14 Jun 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55413 | nobu | 2016-06-14 23:43:02 +0900 (Tue, 14 Jun 2016) | 5 lines remove backward macros * include/ruby/backward.h (rb_cFixnum, rb_cBignum): remove the backward compatibility macros, to fail incompatible extension libraries earily. [Bug #12427] ------------------------------------------------------------------------ r55412 | nobu | 2016-06-14 22:22:09 +0900 (Tue, 14 Jun 2016) | 4 lines strftime.c: limit result size * strftime.c (rb_strftime_with_timespec): limit the result string size by the format length, to get rid of unlimited memory use. ------------------------------------------------------------------------ r55411 | rhe | 2016-06-14 22:12:20 +0900 (Tue, 14 Jun 2016) | 10 lines openssl: add some accessor methods for OCSP::CertificateId * ext/openssl/ossl_ocsp.c (ossl_ocspcid_get_issuer_name_hash, ossl_ocspcid_get_issuer_key_hash, ossl_ocspcid_get_hash_algorithm): Add accessor methods OCSP::CertificateId#issuer_name_hash, #issuer_key_hash, #hash_algorithm. Based on a patch provided by Paul Kehrer <paul.l.kehrer@gmail.com>. [ruby-core:48062] [Feature #7181] * test/openssl/test_ocsp.rb: Test these new methods. ------------------------------------------------------------------------ r55410 | nobu | 2016-06-14 22:07:27 +0900 (Tue, 14 Jun 2016) | 5 lines date_strftime.c: check precision * ext/date/date_strftime.c (date_strftime_with_tmx): reject too large precision to get rid of buffer overflow. reported by Guido Vranken <guido AT guidovranken.nl>. ------------------------------------------------------------------------ r55409 | rhe | 2016-06-14 21:40:55 +0900 (Tue, 14 Jun 2016) | 16 lines openssl: add missing #to_der to OCSP::{CertificateId,BasicResponse} * ext/openssl/ossl_ocsp.c (ossl_ocspbres_to_der, ossl_ocspcid_to_der): Implement #to_der methods for OCSP::BasicResponse and OCSP::CertificateId. (ossl_ocspreq_initialize, ossl_ocspres_initialize): Use GetOCSP*() instead of raw DATA_PTR(). (ossl_ocspbres_initialize, ossl_ocspcid_initialize): Allow initializing from DER string. (Init_ossl_ocsp): Define new #to_der methods. * test/openssl/test_ocsp.rb: Test these changes. Also add missing tests for OCSP::{Response,Request}#to_der. ------------------------------------------------------------------------ r55408 | rhe | 2016-06-14 21:35:28 +0900 (Tue, 14 Jun 2016) | 5 lines openssl: fix acesssor functions for RSA and DH in openssl_missing.h * ext/openssl/openssl_missing.h (DH_set0_pqg, RSA_set0_key): DH_set0_pqg() allows 'q' to be NULL. Fix a typo in RSA_set0_key(). Fixes r55285. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55407 | svn | 2016-06-14 10:20:08 +0900 (Tue, 14 Jun 2016) | 1 line * 2016-06-14 ------------------------------------------------------------------------ r55406 | mrkn | 2016-06-14 10:20:07 +0900 (Tue, 14 Jun 2016) | 1 line NEWS: describe Integer#digits [ci skip] ------------------------------------------------------------------------ r55398 | naruse | 2016-06-13 21:46:44 +0900 (Mon, 13 Jun 2016) | 1 line fix test of r55397 ------------------------------------------------------------------------ r55397 | naruse | 2016-06-13 21:34:06 +0900 (Mon, 13 Jun 2016) | 5 lines * thread.c (debug_deadlock_check): show thread lock dependency and backtrace [Feature #8214] [ruby-dev:47217] * thread.c (thread_status_name): show "sleep_forever" instead of "sleep" if called from inspect. ------------------------------------------------------------------------ r55396 | nobu | 2016-06-13 20:50:09 +0900 (Mon, 13 Jun 2016) | 5 lines parse.y: no named capture conflict warnings * parse.y (reg_named_capture_assign_iter): remove named capture conflict warnings. it is just annoying rather than useful. [ruby-core:75416] [Bug #12359] ------------------------------------------------------------------------ r55395 | mrkn | 2016-06-13 20:43:54 +0900 (Mon, 13 Jun 2016) | 1 line numeric.c: Add Integer#digits [Feature #12447] [ruby-core:75799] ------------------------------------------------------------------------ r55394 | nobu | 2016-06-13 20:34:56 +0900 (Mon, 13 Jun 2016) | 8 lines Integer unification macro * include/ruby/ruby.h (RUBY_INTEGER_UNIFICATION): macro to tell if Integer is integrated. [ruby-core:75718][Bug #12427] * include/ruby/backward.h, internal.h (rb_cFixnum, rb_cBignum): fallback to rb_cInteger. * bignum.c, numeric.c, ext/json/generator/generator.{c,h}: use the macro. ------------------------------------------------------------------------ r55393 | svn | 2016-06-13 16:58:58 +0900 (Mon, 13 Jun 2016) | 1 line * 2016-06-13 ------------------------------------------------------------------------ r55392 | duerst | 2016-06-13 16:58:57 +0900 (Mon, 13 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Add tests for full Unicode swapcase. ------------------------------------------------------------------------ r55391 | nobu | 2016-06-12 23:20:50 +0900 (Sun, 12 Jun 2016) | 4 lines dump to stdout * test/objspace/test_objspace.rb (test_dump_all): dump to stdout instead of a string, get rid of hung up. ------------------------------------------------------------------------ r55390 | nobu | 2016-06-12 18:45:09 +0900 (Sun, 12 Jun 2016) | 4 lines File.expand_path compose test only on OS X * test/ruby/test_file_exhaustive.rb (test_expand_path_compose): valid only on OS X. ------------------------------------------------------------------------ r55389 | duerst | 2016-06-12 14:48:04 +0900 (Sun, 12 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Add tests for ASCII-only swapcase; store calculated values in hashes. ------------------------------------------------------------------------ r55388 | rhe | 2016-06-12 14:06:18 +0900 (Sun, 12 Jun 2016) | 14 lines openssl: support non AES-GCM AEAD ciphers in OpenSSL::Cipher * ext/openssl/ossl_cipher.c (ossl_cipher_get_auth_tag, ossl_cipher_set_auth_tag): Check if the cipher flags retrieved by EVP_CIPHER_CTX_flags() includes EVP_CIPH_FLAG_AEAD_CIPHER to see if the cipher supports AEAD. AES-GCM was the only supported in OpenSSL 1.0.1. (Init_ossl_cipher): Fix doc; OpenSSL::Cipher::AES.new(128, :GCM) can't work. * ext/openssl/openssl_missing.h: Define EVP_CTRL_AEAD_{GET,SET}_TAG if missing. They are added in OpenSSL 1.1.0, and have the same value as EVP_CTRL_GCM_{GET,SET}_TAG and EVP_CTRL_CCM_{GET,SET}_TAG. ------------------------------------------------------------------------ r55387 | rhe | 2016-06-12 13:48:10 +0900 (Sun, 12 Jun 2016) | 9 lines openssl: avoid test failure in test_engine.rb * test/openssl/test_engine.rb (test_openssl_engine_builtin, test_openssl_engine_by_id_string): Skip test if 'openssl' engine is already loaded. And test the number increased by Engine.load{_by_id,}, not the total count of loaded engines. Previously, we called OpenSSL::Engine.cleanup every time running a test case, but we no longer can do it. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55386 | svn | 2016-06-12 09:24:37 +0900 (Sun, 12 Jun 2016) | 1 line * 2016-06-12 ------------------------------------------------------------------------ r55385 | nobu | 2016-06-12 09:24:36 +0900 (Sun, 12 Jun 2016) | 5 lines file.c: normalize cwd * file.c (append_fspath): normalize directory name to be appended on OS X. [ruby-core:75957] [Ruby trunk Bug#12483] https://github.com/rails/rails/issues/25303#issuecomment-224834804 ------------------------------------------------------------------------ r55381 | usa | 2016-06-11 23:08:50 +0900 (Sat, 11 Jun 2016) | 3 lines * lib/forwardable.rb (_delegator_method): get rid of a warning which causes test failures introduced at r55376. ------------------------------------------------------------------------ r55380 | hsbt | 2016-06-11 18:38:04 +0900 (Sat, 11 Jun 2016) | 2 lines * ext/json/lib/*.rb: Removed some comments. Because these are unnecessary class description. [ci skip][Bug #12255][ruby-core:74835] ------------------------------------------------------------------------ r55379 | nobu | 2016-06-11 15:19:40 +0900 (Sat, 11 Jun 2016) | 4 lines Remove dead link [ci skip] * lib/net/smtp.rb: [DOC] Remove dead link on documentation for Japanese of SMTP. [Fix GH-1380] ------------------------------------------------------------------------ r55378 | nobu | 2016-06-11 15:02:46 +0900 (Sat, 11 Jun 2016) | 4 lines Fix typo in string.c [ci skip] * string.c (rb_str_oct): [DOC] fix typo, hornored -> honored. [Fix GH-1379] ------------------------------------------------------------------------ r55377 | nobu | 2016-06-11 14:04:22 +0900 (Sat, 11 Jun 2016) | 3 lines ObjectSpace.dump_all: valid JSON * ext/objspace/objspace_dump.c: generate valid JSON for dump_all. ------------------------------------------------------------------------ r55376 | nobu | 2016-06-11 13:52:35 +0900 (Sat, 11 Jun 2016) | 4 lines forwardable.rb: optimize awy __send__ * lib/forwardable.rb (_delegator_method): remove __send__ call if possible, so that more optimizations will be enabled. ------------------------------------------------------------------------ r55375 | nobu | 2016-06-11 11:24:38 +0900 (Sat, 11 Jun 2016) | 3 lines iso_8859.h: SHARP_s * enc/iso_8859.h (SHARP_s): name frequently used codepoint. ------------------------------------------------------------------------ r55374 | duerst | 2016-06-11 09:58:49 +0900 (Sat, 11 Jun 2016) | 2 lines * enc/iso_8859_1.c: Revert to older version of code. ------------------------------------------------------------------------ r55373 | duerst | 2016-06-11 09:46:21 +0900 (Sat, 11 Jun 2016) | 4 lines * enc/iso_8859_1.c: Implement non-ASCII case mapping. * test/ruby/enc/test_case_comprehensive.rb: Tests for above. * string.c: Add iso-8859-1 to supported encodings. ------------------------------------------------------------------------ r55372 | nobu | 2016-06-11 09:31:30 +0900 (Sat, 11 Jun 2016) | 6 lines forwardable.rb: backtrace * lib/forwardable.rb (_delegator_method): leave the backtrace untouched during accessor. forwardable.rb does not appear in the backtrace during delegated method because of tail-call optimization. ------------------------------------------------------------------------ r55371 | ngoto | 2016-06-11 01:47:05 +0900 (Sat, 11 Jun 2016) | 4 lines * include/ruby/defines.h (GCC_VERSION_SINCE): Fix logic error by adding parentheses. Fix failures of TestMkmf::TestConvertible with GCC 3.4.3 on Solaris 10. [Bug #12479] [ruby-dev:49660] ------------------------------------------------------------------------ r55370 | svn | 2016-06-11 01:01:25 +0900 (Sat, 11 Jun 2016) | 1 line * 2016-06-11 ------------------------------------------------------------------------ r55369 | nobu | 2016-06-11 01:01:25 +0900 (Sat, 11 Jun 2016) | 3 lines test_forwardable.rb: operators * test/test_forwardable.rb: add tests for operators. ------------------------------------------------------------------------ r55368 | nobu | 2016-06-10 22:44:05 +0900 (Fri, 10 Jun 2016) | 1 line forwardable.rb: nodoc _delegator_method [ci skip] ------------------------------------------------------------------------ r55366 | nobu | 2016-06-10 21:54:25 +0900 (Fri, 10 Jun 2016) | 5 lines forwardable.rb: fix for non-module objects * lib/forwardable.rb (Forwardable._delegator_method): extract method generator and deal with non-module objects. [ruby-dev:49656] [Bug #12478] ------------------------------------------------------------------------ r55361 | duerst | 2016-06-10 17:35:17 +0900 (Fri, 10 Jun 2016) | 3 lines * string.c: Special-case :ascii option in rb_str_capitalize_bang and rb_str_swapcase_bang. ------------------------------------------------------------------------ r55359 | duerst | 2016-06-10 17:12:28 +0900 (Fri, 10 Jun 2016) | 2 lines * string.c: Special-case :ascii option in rb_str_upcase_bang (retry). ------------------------------------------------------------------------ r55346 | svn | 2016-06-10 14:48:39 +0900 (Fri, 10 Jun 2016) | 1 line * 2016-06-10 ------------------------------------------------------------------------ r55345 | nobu | 2016-06-10 14:48:38 +0900 (Fri, 10 Jun 2016) | 6 lines hash.c: ensure NUL-terminated for ENV * hash.c (get_env_cstr): ensure NUL-terminated. [ruby-dev:49655] [Bug #12475] * string.c (rb_str_fill_terminator): return the pointer to the NUL-terminated content. ------------------------------------------------------------------------ r55344 | rhe | 2016-06-09 21:42:08 +0900 (Thu, 09 Jun 2016) | 11 lines openssl: use ASN1_ENUMERATED_to_BN() if needed * ext/openssl/ossl_asn1.c (asn1integer_to_num): Use ASN1_ENUMERATED_to_BN() to convert an ASN1_ENUMERATED to a BN. Starting from OpenSSL 1.1.0, ASN1_INTEGER_to_BN() rejects non-ASN1_INTEGER objects. The format of INTEGER and ENUMERATED are almost identical so they behaved in the same way in OpenSSL <= 1.0.2. [ruby-core:75225] [Feature #12324] * test/openssl/test_asn1.rb (test_decode_enumerated): Test that it works. ------------------------------------------------------------------------ r55343 | kazu | 2016-06-09 21:10:50 +0900 (Thu, 09 Jun 2016) | 1 line * tool/ifchange: fix timestamp error when target without directory. ------------------------------------------------------------------------ r55342 | rhe | 2016-06-09 19:46:46 +0900 (Thu, 09 Jun 2016) | 11 lines openssl: fix build with OPENSSL_NO_EC * ext/openssl/ossl_ssl.c: Add define guards for OPENSSL_NO_EC. SSL_CTX_set_ecdh_auto() is defined even when ECDH is disabled in OpenSSL's configuration. This fixes r55214. * test/openssl/test_pair.rb (test_ecdh_curves): Skip if the OpenSSL does not support ECDH. * test/openssl/utils.rb (start_server): Ignore error in SSLContext#ecdh_curves=. ------------------------------------------------------------------------ r55341 | nobu | 2016-06-09 18:12:44 +0900 (Thu, 09 Jun 2016) | 4 lines Makefile.in: un-runnable * Makefile.in (un-runnable): fail with proper error message. [ruby-core:75905] [Bug #12472] ------------------------------------------------------------------------ r55340 | nobu | 2016-06-09 16:37:29 +0900 (Thu, 09 Jun 2016) | 4 lines common.mk: fix win32/ifchange.bat usage * common.mk: win32/ifchange.bat does not support input from stdin. also needs quotes to escape an equal sign. ------------------------------------------------------------------------ r55339 | nobu | 2016-06-09 15:52:03 +0900 (Thu, 09 Jun 2016) | 1 line common.mk: use $(IFCHANGE) for mswin ------------------------------------------------------------------------ r55338 | nobu | 2016-06-09 15:32:18 +0900 (Thu, 09 Jun 2016) | 5 lines common.mk: ifchange for mkconfig.rb * common.mk (RBCONFIG): use ifchange tool to see if the content is changed and update the timestamp file. * tool/mkconfig.rb: remove ifchange features. ------------------------------------------------------------------------ r55337 | nobu | 2016-06-09 15:31:54 +0900 (Thu, 09 Jun 2016) | 4 lines ifchange: make target directory * tool/ifchange: make target directory if it does not exist with its parent directories. ------------------------------------------------------------------------ r55336 | nobu | 2016-06-09 15:31:11 +0900 (Thu, 09 Jun 2016) | 4 lines ifchange.bat: drop old systems * win32/ifchange.bat: drop support for command.com used on old systems. ------------------------------------------------------------------------ r55335 | rhe | 2016-06-09 15:03:55 +0900 (Thu, 09 Jun 2016) | 6 lines openssl: fix build with OpenSSL 1.1.0 and no pkg-config * ext/openssl/extconf.rb: Check for CRYPTO_malloc() and SSL_new(). OpenSSL_add_all_digests() and SSL_library_init() are deprecated and converted to macros in OpenSSL 1.1.0. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55334 | svn | 2016-06-09 13:44:33 +0900 (Thu, 09 Jun 2016) | 1 line * 2016-06-09 ------------------------------------------------------------------------ r55333 | nobu | 2016-06-09 13:44:32 +0900 (Thu, 09 Jun 2016) | 1 line strio_init: return self for tail call optimization ------------------------------------------------------------------------ r55332 | kazu | 2016-06-08 23:11:17 +0900 (Wed, 08 Jun 2016) | 3 lines string.c (rb_str_ascii_casemap): fix compile error. error: implicit conversion loses integer precision: 'long' to 'int' [-Werror,-Wshorten-64-to-32] ------------------------------------------------------------------------ r55331 | duerst | 2016-06-08 22:22:28 +0900 (Wed, 08 Jun 2016) | 2 lines * string.c: Revert previous commit (possibility of endless loop). ------------------------------------------------------------------------ r55330 | duerst | 2016-06-08 21:57:44 +0900 (Wed, 08 Jun 2016) | 2 lines * string.c: Special-case :ascii option in rb_str_upcase_bang. ------------------------------------------------------------------------ r55329 | duerst | 2016-06-08 21:28:42 +0900 (Wed, 08 Jun 2016) | 6 lines * string.c: New static function rb_str_ascii_casemap; special-casing :ascii option in rb_str_upcase_bang and rb_str_downcase_bang. * regenc.c: Fix a bug (wrong use of unnecessary slack at end of string). * regenc.h -> include/ruby/oniguruma.h: Move declaration of onigenc_ascii_only_case_map so that it is visible in string.c. ------------------------------------------------------------------------ r55328 | ngoto | 2016-06-08 20:56:33 +0900 (Wed, 08 Jun 2016) | 2 lines Makefile.in: revert r55303 because of an error on Solaris 10. [Bug #12471] [ruby-dev:49654] ------------------------------------------------------------------------ r55327 | ngoto | 2016-06-08 20:36:57 +0900 (Wed, 08 Jun 2016) | 5 lines * include/ruby/intern.h: Remove excess semicolons in PUREFUNC(). Fix failure of TestMkmf::TestConvertible on Solaris with Oracle Solaris Studio 12. [ruby-dev:49651] [Bug #12470] * internal.h: ditto. ------------------------------------------------------------------------ r55326 | nobu | 2016-06-08 16:47:39 +0900 (Wed, 08 Jun 2016) | 1 line ext/stringio/README.md: update [ci skip] ------------------------------------------------------------------------ r55325 | shugo | 2016-06-08 16:10:15 +0900 (Wed, 08 Jun 2016) | 1 line Add an acknowledgement. ------------------------------------------------------------------------ r55324 | shugo | 2016-06-08 16:06:57 +0900 (Wed, 08 Jun 2016) | 3 lines * lib/net/smtp.rb (getok, get_response): raise an ArgumentError when CR or LF is included in a line, because they are not allowed in RFC5321. ------------------------------------------------------------------------ r55323 | nobu | 2016-06-08 15:29:14 +0900 (Wed, 08 Jun 2016) | 3 lines suppress static-in-inline warning * ext/date/zonetab.list (zonetab): forward declaration as static. ------------------------------------------------------------------------ r55322 | nobu | 2016-06-08 14:41:08 +0900 (Wed, 08 Jun 2016) | 6 lines fix date build * common.mk (zonetabl.h): fix typo. * ext/date/zonetab.list: remove forward declaration which may be conflict with the later definition. ------------------------------------------------------------------------ r55321 | nobu | 2016-06-08 11:08:00 +0900 (Wed, 08 Jun 2016) | 4 lines test_proc.rb: test_lambda? * test/ruby/test_proc.rb (test_lambda?): lambda-ness should be preserved across proc, lambda, and Proc.new. ------------------------------------------------------------------------ r55320 | nobu | 2016-06-08 10:09:23 +0900 (Wed, 08 Jun 2016) | 1 line ext/date/zonetab.list: gperf timezone names ------------------------------------------------------------------------ r55319 | svn | 2016-06-08 10:09:22 +0900 (Wed, 08 Jun 2016) | 1 line * 2016-06-08 ------------------------------------------------------------------------ r55318 | nobu | 2016-06-08 10:09:21 +0900 (Wed, 08 Jun 2016) | 1 line ext/date: constify ------------------------------------------------------------------------ r55317 | rhe | 2016-06-07 21:29:37 +0900 (Tue, 07 Jun 2016) | 6 lines rubygems: regenerate server certificates used in tests * test/rubygems/*_{cert,cert_32}.pem: Regenerate test certificates for OpenSSL 1.1.0. This is already in upstream. https://github.com/rubygems/rubygems/commit/9be5c53939440a61c4bba73cfffbeb5cfadf72be [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55316 | svn | 2016-06-07 21:29:37 +0900 (Tue, 07 Jun 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55315 | rhe | 2016-06-07 21:29:36 +0900 (Tue, 07 Jun 2016) | 8 lines open-uri: regenerate server certificates used in tests * test/open-uri/test_ssl.rb: Regenerate test certificates. The test CA certificate was incorrectly generated. A CA certificate must have the basic constraints extension with cA bit set to TRUE. OpenSSL <= 1.0.2 allowed the error when the certificate is in the trusted store but OpenSSL 1.1.0 no longer does. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55314 | rhe | 2016-06-07 21:20:46 +0900 (Tue, 07 Jun 2016) | 41 lines openssl: adjust tests for OpenSSL 1.1.0 This fixes `make test-all TESTS=openssl` with OpenSSL master. * test/openssl/test_x509name.rb: Don't register OID for 'emailAddress' and 'serialNumber'. A recent change in OpenSSL made OBJ_create() reject an already existing OID. They were needed to run tests with OpenSSL 0.9.6 which is now unsupported. https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=52832e470f5fe8c222249ae5b539aeb3c74cdb25 [ruby-core:75225] [Feature #12324] * test/openssl/test_ssl_session.rb (test_server_session): Duplicate SSL::Session before re-adding to the session store. OpenSSL 1.1.0 starts rejecting SSL_SESSION once removed by SSL_CTX_remove_session(). https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=7c2d4fee2547650102cd16d23f8125b76112ae75 * test/openssl/test_pkey_ec.rb (setup): Remove X25519 from @keys. X25519 is new in OpenSSL 1.1.0 but this is for key agreement and not for signing. * test/openssl/test_pair.rb, test/openssl/test_ssl.rb, test/openssl/utils.rb: Set security level to 0 when using aNULL cipher suites. * test/openssl/utils.rb: Use 1024 bits DSA key for client certificates. * test/openssl/test_engine.rb: Run each test in separate process. We can no longer cleanup engines explicitly as ENGINE_cleanup() was removed. https://git.openssl.org/gitweb/?p=openssl.git;a=commit;h=6d4fb1d59e61aacefa25edc4fe5acfe1ac93f743 * ext/openssl/ossl_engine.c (ossl_engine_s_cleanup): Add a note to the RDoc for Engine.cleanup. * ext/openssl/lib/openssl/digest.rb: Don't define constants for DSS, DSS1 and SHA(-0) when using with OpenSSL 1.1.0. They are removed. * test/openssl/test_digest.rb, test/openssl/test_pkey_dsa.rb, test/openssl/test_pkey_dsa.rb, test/openssl/test_ssl.rb, test/openssl/test_x509cert.rb, test/openssl/test_x509req.rb: Don't test unsupported hash functions. ------------------------------------------------------------------------ r55313 | nobu | 2016-06-07 17:57:37 +0900 (Tue, 07 Jun 2016) | 4 lines ruby-additional.el: adjust heredoc line number * misc/ruby-additional.el (ruby-insert-heredoc-code-block): insert a newline adjust the line number for "begin" line. ------------------------------------------------------------------------ r55312 | nobu | 2016-06-07 17:57:36 +0900 (Tue, 07 Jun 2016) | 4 lines test_syntax.rb: formal argument name tests * test/ruby/test_syntax.rb: add invalid formal argument name tests. ------------------------------------------------------------------------ r55311 | duerst | 2016-06-07 17:49:55 +0900 (Tue, 07 Jun 2016) | 4 lines * test/ruby/enc/test_case_comprehensive: Change test for encodings without any non-ASCII case conversions from ASCII-only test to full test. ------------------------------------------------------------------------ r55310 | duerst | 2016-06-07 17:18:42 +0900 (Tue, 07 Jun 2016) | 3 lines * string.c (rb_str_upcase_bang, rb_str_capitalize_bang, rb_str_swapcase_bang): Switch to use primitive. ------------------------------------------------------------------------ r55309 | rhe | 2016-06-07 16:52:24 +0900 (Tue, 07 Jun 2016) | 13 lines openssl: add SSL::SSLContext#security_level{=,} * ext/openssl/extconf.rb: Check for SSL_CTX_get_security_level(). OpenSSL 1.1.0 introduced "security level". [ruby-core:75225] [Feature #12324] * ext/openssl/ossl_ssl.c (ossl_sslctx_{get,set}_security_level): Add SSLContext#security_level and #security_level=. * test/openssl/test_ssl.rb (test_security_level): Add test. ...but this doesn't actually test it. Because #security_level= is necessary in order to run other tests on OpenSSL 1.1.0, go without tests for now. Will fix after converting SSLContext#key= and #cert= to normal methods. ------------------------------------------------------------------------ r55308 | duerst | 2016-06-07 16:44:19 +0900 (Tue, 07 Jun 2016) | 3 lines * string.c (rb_str_downcase_bang): Switch to use primitive except if conversion can be done ASCII-only. ------------------------------------------------------------------------ r55307 | duerst | 2016-06-07 16:13:39 +0900 (Tue, 07 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive: Add regression tests for current ASCII-only case conversion. ------------------------------------------------------------------------ r55306 | duerst | 2016-06-07 15:28:47 +0900 (Tue, 07 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive: Fix method name (generate_casefold_tests -> generate_case_mapping_tests). ------------------------------------------------------------------------ r55305 | duerst | 2016-06-07 15:05:18 +0900 (Tue, 07 Jun 2016) | 10 lines * regenc.h/c: Rename onigenc_not_support_case_map to onigenc_ascii_only_case_map. * regenc.h: Add definition of onigenc_single_byte_ascii_only_case_map. * enc/iso_8859_X.c, windows_125X.c, ascii.c, us-ascii.c, koi8_x.c: Replace onigenc_not_support_case_map by onigenc_single_byte_ascii_only_case_map. * enc/big5.c, cp949.c, emacs_mule.c, euc_X.c, gbX.c, shift_jis.c, windows_31j.c: Replace onigenc_not_support_case_map by onigenc_ascii_only_case_map. ------------------------------------------------------------------------ r55304 | rhe | 2016-06-07 14:57:25 +0900 (Tue, 07 Jun 2016) | 11 lines openssl: avoid deprecated version-specific ssl methods if necessary * ext/openssl/extconf.rb: Check for SSL_CTX_set_min_proto_version() macro added in OpenSSL 1.1.0. Version-specific methods, such as TLSv1_method(), are deprecated in OpenSSL 1.1.0. We need to use version-flexible methods (TLS_*method() or SSLv23_*method()) and disable other protocol versions as necessary. [ruby-core:75225] [Feature #12324] * ext/openssl/ossl_ssl.c: Use SSL_CTX_set_{min,max}_proto_version() to fix the protocol version. ------------------------------------------------------------------------ r55303 | nobu | 2016-06-07 13:53:47 +0900 (Tue, 07 Jun 2016) | 4 lines Makefile.in: cd to working directory * Makefile.in (update-{mspec,rubyspec,doclie,simplecov{,-html}}): cd to working directory first and check if the directory exists. ------------------------------------------------------------------------ r55302 | duerst | 2016-06-07 12:55:37 +0900 (Tue, 07 Jun 2016) | 3 lines * regenc.c (onigenc_not_support_case_map): Move to end of file; (onigenc_single_byte_ascii_only_case_map): Add new function. ------------------------------------------------------------------------ r55301 | nobu | 2016-06-07 09:31:40 +0900 (Tue, 07 Jun 2016) | 4 lines appveyor.yml: fix file names * appveyor.yml (install): file library file names to be installed from libressl. ------------------------------------------------------------------------ r55300 | svn | 2016-06-07 09:26:42 +0900 (Tue, 07 Jun 2016) | 1 line * 2016-06-07 ------------------------------------------------------------------------ r55299 | duerst | 2016-06-07 09:26:41 +0900 (Tue, 07 Jun 2016) | 3 lines * regenc.c (onigenc_not_support_case_map): Rewrite to work correctly in ASCII range. ------------------------------------------------------------------------ r55298 | kazu | 2016-06-06 23:04:01 +0900 (Mon, 06 Jun 2016) | 1 line appveyor.yml: Update libressl version to 2.3.5. ------------------------------------------------------------------------ r55297 | nobu | 2016-06-06 18:37:59 +0900 (Mon, 06 Jun 2016) | 5 lines vm_insnhelper.c: check symbol proc to throw * vm_insnhelper.c (vm_throw_start): check if the iseq is symbol proc, class definition should not be a symbol proc. [ruby-core:75856] [Bug #12462] ------------------------------------------------------------------------ r55296 | duerst | 2016-06-06 18:36:36 +0900 (Mon, 06 Jun 2016) | 5 lines * string.c: Added UTF-16BE/LE and UTF-32BE/LE to supported encodings for Unicode case mapping. * test/ruby/enc/test_case_comprehensive.rb: Tests for above functionality; fixed an encoding issue in assertion error message. ------------------------------------------------------------------------ r55295 | duerst | 2016-06-06 17:29:38 +0900 (Mon, 06 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Speed up testing for small encodings by preselecting codepoints. ------------------------------------------------------------------------ r55294 | rhe | 2016-06-06 17:11:24 +0900 (Mon, 06 Jun 2016) | 5 lines openssl: fix free function of OpenSSL::Cipher * ext/openssl/ossl_cipher.c (ossl_cipher_free): Use EVP_CIPHER_CTX_free() to free EVP_CIPHER_CTX allocated by EVP_CIPHER_CTX_new(). [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55293 | duerst | 2016-06-06 13:37:10 +0900 (Mon, 06 Jun 2016) | 3 lines * string.c Change rb_str_casemap to use encoding primitive case_map instead of directly calling onigenc_unicode_case_map. ------------------------------------------------------------------------ r55292 | duerst | 2016-06-06 13:16:49 +0900 (Mon, 06 Jun 2016) | 3 lines * test/ruby/enc/test_case_mapping.rb: Remove :lithuanian guard for Unicode case mapping. ------------------------------------------------------------------------ r55291 | rhe | 2016-06-06 10:40:27 +0900 (Mon, 06 Jun 2016) | 4 lines openssl: fix compile on VC * ext/openssl/openssl_missing.h: Include ruby/config.h. r55285 added some inline functions but VC does not recognize 'inline' keyword. ------------------------------------------------------------------------ r55290 | nobu | 2016-06-06 09:25:38 +0900 (Mon, 06 Jun 2016) | 4 lines Thread.report_on_exception * thread.c (thread_start_func_2): report raised exception if report_on_exception flag is set. [Feature #6647] ------------------------------------------------------------------------ r55289 | rhe | 2016-06-06 01:36:39 +0900 (Mon, 06 Jun 2016) | 14 lines openssl: use SSL_is_server() * ext/openssl/extconf.rb: Check existence of SSL_is_server(). This function was introduced in OpenSSL 1.0.2. [ruby-core:75225] [Feature #12324] * ext/openssl/openssl_missing.h: Implement SSL_is_server() if missing. * ext/openssl/ossl_ssl.c (ssl_info_cb): Use SSL_is_server() to see if the SSL is server. The state machine in OpenSSL was rewritten and SSL_get_state() no longer returns SSL_ST_ACCEPT. (ossl_ssl_cipher_to_ary, ossl_sslctx_session_get_cb): Add some `const`s to suppress warning. ------------------------------------------------------------------------ r55288 | rhe | 2016-06-06 01:18:38 +0900 (Mon, 06 Jun 2016) | 6 lines openssl: avoid d2i_ASN1_BOOLEAN() * ext/openssl/ossl_asn1.c (decode_bool): Do the same thing as d2i_ASN1_BOOLEAN() does by ourselves. This function is removed in OpenSSL 1.1.0. [ruby-core:75225] [Feature #12324] ------------------------------------------------------------------------ r55287 | rhe | 2016-06-06 00:35:12 +0900 (Mon, 06 Jun 2016) | 12 lines openssl: adapt to OpenSSL 1.1.0 opaque structs * ext/openssl/extconf.rb: Check existence of accessor functions that don't exist in OpenSSL 0.9.8. OpenSSL 1.1.0 made most of its structures opaque and requires use of these accessor functions. [ruby-core:75225] [Feature #12324] * ext/openssl/openssl_missing.[ch]: Implement them if missing. * ext/openssl/ossl*.c: Use these accessor functions. * test/openssl/test_hmac.rb: Add missing test for HMAC#reset. ------------------------------------------------------------------------ r55286 | svn | 2016-06-06 00:00:48 +0900 (Mon, 06 Jun 2016) | 1 line * 2016-06-06 ------------------------------------------------------------------------ r55285 | rhe | 2016-06-06 00:00:47 +0900 (Mon, 06 Jun 2016) | 23 lines openssl: adapt OpenSSL::PKey to OpenSSL 1.1.0 opaque structs * ext/openssl/openssl_missing.[ch]: Implement EVP_PKEY_get0_*() and {RSA,DSA,EC_KEY,DH}_get0_*() functions. OpenSSL 1.1.0 makes EVP_PKEY/RSA/DSA/DH opaque. We used to provide setter methods for each parameter of each PKey type, for example PKey::RSA#e=, but this is no longer possible because the new API RSA_set0_key() requires the 'n' at the same time. This commit adds deprecation warning to them and adds PKey::*#set_* methods as direct wrapper for those new APIs. For example, 'rsa.e = 3' now needs to be rewritten as 'rsa.set_key(rsa.n, 3, rsa.d)'. [ruby-core:75225] [Feature #12324] * ext/openssl/ossl_pkey*.[ch]: Use the new accessor functions. Implement RSA#set_{key,factors,crt_params}, DSA#set_{key,pqg}, DH#set_{key,pqg}. Emit a warning with rb_warning() when old setter methods are used. * test/drb/ut_array_drbssl.rb, test/drb/ut_drb_drbssl.rb, test/rubygems/test_gem_remote_fetcher.rb: Don't set a priv_key for DH object that are used in tmp_dh_callback. Generating a new key pair every time should be fine - actually the private exponent is ignored in OpenSSL >= 1.0.2f/1.0.1r even if we explicitly set. https://www.openssl.org/news/secadv/20160128.txt ------------------------------------------------------------------------ r55284 | mrkn | 2016-06-05 22:09:43 +0900 (Sun, 05 Jun 2016) | 1 line configure.in: Fix the timing to detect the appropriate C++ compiler in OS X ------------------------------------------------------------------------ r55283 | rhe | 2016-06-05 21:46:05 +0900 (Sun, 05 Jun 2016) | 20 lines openssl: support OpenSSL 1.1.0's new multi-threading API * ext/openssl/extconf.rb: Check absence of CRYPTO_lock() to see if the OpenSSL has the new threading API. In OpenSSL <= 1.0.2, an application had to set locking callbacks to use OpenSSL in a multi-threaded environment. OpenSSL 1.1.0 now finds pthreads or Windows threads so we don't need to do something special. [ruby-core:75225] [Feature #12324] Also check existence of *_up_ref(). Some structures in OpenSSL have a reference counter. We used to increment it with CRYPTO_add() which is a part of the old API. * ext/openssl/openssl_missing.h: Implement *_up_ref() if missing. * ext/openssl/ossl.c: Don't set locking callbacks if unneeded. * ext/openssl/ossl_pkey.c, ext/openssl/ossl_ssl.c, ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c, ext/openssl/ossl_x509store.c: Use *_up_ref() instead of CRYPTO_add(). ------------------------------------------------------------------------ r55282 | rhe | 2016-06-05 21:38:34 +0900 (Sun, 05 Jun 2016) | 11 lines openssl: check existence of RAND_pseudo_bytes() * ext/openssl/extconf.rb: Check if RAND_pseudo_bytes() is usable. It is marked as deprecated in OpenSSL 1.1.0. [ruby-core:75225] [Feature #12324] * ext/openssl/ossl_rand.c: Disable Random.pseudo_bytes if RAND_pseudo_bytes() is unavailable. * test/openssl/test_random.rb: Don't test Random.pseudo_bytes if not defined. ------------------------------------------------------------------------ r55281 | duerst | 2016-06-05 19:06:42 +0900 (Sun, 05 Jun 2016) | 3 lines * NEWS: Add news about Unicode-wide case mapping for String/Symbol#upcase/downcase/swapcase/capitalize(!). ------------------------------------------------------------------------ r55280 | nobu | 2016-06-05 18:54:13 +0900 (Sun, 05 Jun 2016) | 3 lines optparse.rb: fix quote [ci skip] * lib/optparse.rb (getopts): [DOC] fix missing quote. ------------------------------------------------------------------------ r55279 | duerst | 2016-06-05 15:24:36 +0900 (Sun, 05 Jun 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Remove :lithuanian guard for Unicode case mapping. ------------------------------------------------------------------------ r55278 | svn | 2016-06-05 14:46:38 +0900 (Sun, 05 Jun 2016) | 1 line * 2016-06-05 ------------------------------------------------------------------------ r55277 | duerst | 2016-06-05 14:46:37 +0900 (Sun, 05 Jun 2016) | 2 lines * string.c: Remove :lithuanian guard for Unicode case mapping. ------------------------------------------------------------------------ r55276 | nobu | 2016-06-04 19:58:14 +0900 (Sat, 04 Jun 2016) | 4 lines gmake.mk: update timestamp of des_tables.c * defs/gmake.mk (missing/des_tables.c): always update the timestamp unless make_des_table failed. ------------------------------------------------------------------------ r55275 | nobu | 2016-06-04 12:46:06 +0900 (Sat, 04 Jun 2016) | 4 lines gmake.mk: des_tables.c condition * defs/gmake.mk (missing/des_tables.c): fix cross compiling condition. ------------------------------------------------------------------------ r55274 | nobu | 2016-06-04 11:40:04 +0900 (Sat, 04 Jun 2016) | 7 lines des_tables.c: generation rule * defs/gmake.mk (missing/des_tables.c): move the recipe from common.mk. this is less common. * missing/crypt.c (init_des): if des_tables.c is empty, initialize DES tables at runtime. ------------------------------------------------------------------------ r55273 | rhe | 2016-06-04 11:35:09 +0900 (Sat, 04 Jun 2016) | 7 lines openssl: avoid deprecated BN_*prime* functions * ext/openssl/ossl_bn.c (ossl_bn_s_generate_prime, ossl_bn_is_prime, ossl_bn_is_prime_fasttest): Avoid deprecated BN_generate_prime(), BN_is_prime{,_fasttest}(). They are deprecated because they expect an old style callback function (we don't use it here). They can be simply replaced by _ex suffixed functions. ------------------------------------------------------------------------ r55272 | nobu | 2016-06-04 10:54:54 +0900 (Sat, 04 Jun 2016) | 9 lines crypt.h: remove initialized * missing/crypt.h (struct crypt_data): remove unnecessary member "initialized". * missing/crypt.c (des_setkey_r): nothing to be initialized in crypt_data. * configure.in (struct crypt_data): check for "initialized" in struct crypt_data, which may be only in glibc, and isn't on AIX at least. ------------------------------------------------------------------------ r55271 | svn | 2016-06-04 10:38:42 +0900 (Sat, 04 Jun 2016) | 1 line * 2016-06-04 ------------------------------------------------------------------------ r55270 | nobu | 2016-06-04 10:38:41 +0900 (Sat, 04 Jun 2016) | 5 lines win32.c: use PATH_MAX * win32/win32.c: unify MAX_PATH, _MAX_PATH, and MAXPATHLEN to PATH_MAX, except for MAX_PATH in get_special_folder for an API limit. ------------------------------------------------------------------------ r55269 | nobu | 2016-06-03 22:38:27 +0900 (Fri, 03 Jun 2016) | 5 lines win32.c: fail before getting ITEMIDLIST * win32/win32.c (get_special_folder): fail before getting ITEMIDLIST if the buffer is less than 260 word which SHGetPathFromIDListW requires. ------------------------------------------------------------------------ r55268 | nobu | 2016-06-03 21:27:24 +0900 (Fri, 03 Jun 2016) | 6 lines ruby.c: refix r55260 * ruby.c (process_options): rb_str_conv_enc() never set encoding of the source string, but returns the string itself if the conversion failed. then the instance variable does not need to be set again. ------------------------------------------------------------------------ r55267 | usa | 2016-06-03 18:06:19 +0900 (Fri, 03 Jun 2016) | 4 lines * ruby.c (process_options): need to duplicate path before passing it to rb_str_conv_enc() because the function might call rb_enc_associate() internally. this fixes test failures on Windows introduced at r55260. ------------------------------------------------------------------------ r55266 | usa | 2016-06-03 17:52:03 +0900 (Fri, 03 Jun 2016) | 2 lines * win32/win32.c (get_special_folder): typo. ------------------------------------------------------------------------ r55265 | nobu | 2016-06-03 17:44:27 +0900 (Fri, 03 Jun 2016) | 11 lines mkmf.rb: sort lists of source and object files * lib/mkmf.rb (create_makefile): sort lists of source and object files in generated Makefile, unless given by extconf.rb. [Fix GH-1367] Without sorting the list of object files explicitely, its order is indeterministic, because readdir() is also not deterministic. When the list of object files varies between builds, they are linked in a different order, which results in an unreproducible build. ------------------------------------------------------------------------ r55264 | svn | 2016-06-03 01:52:15 +0900 (Fri, 03 Jun 2016) | 1 line * 2016-06-03 ------------------------------------------------------------------------ r55263 | nobu | 2016-06-03 01:52:15 +0900 (Fri, 03 Jun 2016) | 1 line dln_find.c: MAXPATHLEN is not used already ------------------------------------------------------------------------ r55262 | nobu | 2016-06-02 21:21:42 +0900 (Thu, 02 Jun 2016) | 4 lines etc.c: retry with allocated string buffer * ext/etc/etc.c (etc_systmpdir): retry with allocated string buffer if static buffer size is not enough. ------------------------------------------------------------------------ r55261 | nobu | 2016-06-02 21:18:12 +0900 (Thu, 02 Jun 2016) | 5 lines win32.c: use SHGetPathFromIDListEx * win32/win32.c (get_special_folder): use SHGetPathFromIDListEx if available instead of old SHGetPathFromIDListW, to check the buffer size. ------------------------------------------------------------------------ r55260 | nobu | 2016-06-02 17:05:21 +0900 (Thu, 02 Jun 2016) | 4 lines ruby.c: no MAXPATHLEN for loadpath * ruby.c (ruby_init_loadpath_safe): remove MAXPATHLEN restriction for Windows 10. ------------------------------------------------------------------------ r55259 | nobu | 2016-06-02 16:51:36 +0900 (Thu, 02 Jun 2016) | 5 lines ruby-mode.el: squiggly heredoc * misc/ruby-mode.el (ruby-here-doc-beg-re), (ruby-here-doc-beg-match, ruby-parse-partial): Support for `squiggly heredoc' syntax in ruby-mode. [Fix GH-1372] ------------------------------------------------------------------------ r55258 | nobu | 2016-06-02 14:27:31 +0900 (Thu, 02 Jun 2016) | 3 lines common.mk: des_tables.c * common.mk (missing-srcs): add rule for missing/des_tables.c. ------------------------------------------------------------------------ r55257 | nobu | 2016-06-02 12:05:40 +0900 (Thu, 02 Jun 2016) | 4 lines crypt.c: suppress warnings * missing/crypt.c (SPE): make unsigned so that literal integers do not exceed 32bit signed integer limit. ------------------------------------------------------------------------ r55256 | nobu | 2016-06-02 11:30:43 +0900 (Thu, 02 Jun 2016) | 4 lines crypt.c: fix syntax error on mswin * missing/crypt.c (constdatablock): fix error on mswin. Visual C does not accept an empty initializer. ------------------------------------------------------------------------ r55255 | svn | 2016-06-02 10:54:18 +0900 (Thu, 02 Jun 2016) | 1 line * 2016-06-02 ------------------------------------------------------------------------ r55254 | nobu | 2016-06-02 10:54:17 +0900 (Thu, 02 Jun 2016) | 6 lines ruby.h: reduce repeated calcuations * include/ruby/ruby.h (rb_scan_args_{hash,block}_idx): reduce repeated index calcuations. * include/ruby/ruby.h (rb_scan_args_end_idx): unused right now. ------------------------------------------------------------------------ r55253 | duerst | 2016-06-02 10:24:52 +0900 (Thu, 02 Jun 2016) | 7 lines * string.c: Raise ArgumentError when invalid string is detected in case mapping methods. * enc/unicode.c: Check for invalid string and signal with negative length value. * test/ruby/enc/test_case_mapping.rb: Add tests for above. * test/ruby/test_m17n_comb.rb: Add a message to clarify test failure. ------------------------------------------------------------------------ r55252 | nobu | 2016-06-01 22:39:01 +0900 (Wed, 01 Jun 2016) | 4 lines ossl_asn1.c: check overflow * ext/openssl/ossl_asn1.c (ossl_time_split): check overflow and reorder for optimization. ------------------------------------------------------------------------ r55251 | nobu | 2016-06-01 22:38:59 +0900 (Wed, 01 Jun 2016) | 4 lines crypt.c: unused functions * missing/crypt.c: suppress unused non-reentrant functions, by macro USE_NONREENTRANT_CRYPT. ------------------------------------------------------------------------ r55250 | nobu | 2016-06-01 22:17:31 +0900 (Wed, 01 Jun 2016) | 4 lines string.c: fallback to crypt_r * string.c: prefer crypt_r to crypt iff system crypt nor crypt_r are not provided. ------------------------------------------------------------------------ r55249 | rhe | 2016-06-01 21:41:15 +0900 (Wed, 01 Jun 2016) | 24 lines openssl: fix the Year 2038 problem r55219 didn't fix the entire issue. It only fixed the issue on environment with sizeof(time_t) == 8 && sizeof(long) == 4. * ext/openssl/extconf.rb: Check existence of ASN1_TIME_adj(). The old ASN1_TIME_set() is not Year 2038 ready on sizeof(time_t) == 4 environment. This function was added in OpenSSL 1.0.0. [ruby-core:45552] [Bug #6571] * ext/openssl/ossl_asn1.c (ossl_time_split): Added. Split the argument (Time) into the number of days elapsed since the epoch and the remainder seconds to conform to ASN1_TIME_adj(). (obj_to_asn1utime, obj_to_asn1gtime): Use ossl_time_split() and ASN1_*TIME_adj(). * ext/openssl/ossl_asn1.h: Add the function prototype for ossl_time_split(). * ext/openssl/ossl_x509.[ch]: Add ossl_x509_time_adjust(). Similarly to obj_to_asn1*time(), use X509_time_adj_ex() instead of X509_time_adj(). * ext/openssl/ossl_x509cert.c, ext/openssl/ossl_x509crl.c, ext/openssl/ossl_x509revoked.c: Use ossl_x509_time_adjust(). ------------------------------------------------------------------------ r55248 | nobu | 2016-06-01 19:42:45 +0900 (Wed, 01 Jun 2016) | 3 lines revert r55246 * configure.in: no longer workaround crypt_r by r55247. ------------------------------------------------------------------------ r55247 | nobu | 2016-06-01 19:24:10 +0900 (Wed, 01 Jun 2016) | 4 lines crypt.h: get rid of conflict * missing/crypt.h: move crypt.h to get rid of conflict with the system header. ------------------------------------------------------------------------ r55246 | naruse | 2016-06-01 19:05:55 +0900 (Wed, 01 Jun 2016) | 1 line workaround: don't check crypt_r ------------------------------------------------------------------------ r55245 | nobu | 2016-06-01 15:58:21 +0900 (Wed, 01 Jun 2016) | 6 lines use system crypt * configure.in: revert r55237. replace crypt, not crypt_r, and check if crypt is broken more. * missing/crypt.c: move crypt_r.c * string.c (rb_str_crypt): use crypt_r if provided by the system. ------------------------------------------------------------------------ r55244 | nobu | 2016-06-01 15:05:21 +0900 (Wed, 01 Jun 2016) | 3 lines des_tables.c * missing/crypt_r.c: initialize DES tables statically. ------------------------------------------------------------------------ r55243 | nobu | 2016-06-01 14:07:55 +0900 (Wed, 01 Jun 2016) | 4 lines crypt_r.c: fix out of bounds access * missing/crypt_r.c (a64toi): initialize statically and fix out of bounds access when salt is not 7bit clean. ------------------------------------------------------------------------ r55242 | nobu | 2016-06-01 14:00:55 +0900 (Wed, 01 Jun 2016) | 4 lines crypt_r.c: DES tables * missing/crypt_r.c (des_tables): move sharable DES constant tables. ------------------------------------------------------------------------ r55241 | nobu | 2016-06-01 13:20:40 +0900 (Wed, 01 Jun 2016) | 4 lines crypt_r.c: remove casts * missing/crypt_r.c: consitify and remove unnecessary pointer casts. ------------------------------------------------------------------------ r55240 | nobu | 2016-06-01 11:45:20 +0900 (Wed, 01 Jun 2016) | 4 lines common.mk: add dependency * common.mk (string.o): now depends on crypt.h for crypt_r and struct crypt_data. ------------------------------------------------------------------------ r55239 | usa | 2016-06-01 11:35:36 +0900 (Wed, 01 Jun 2016) | 2 lines * win32/Makefile.sub (MISSING): fixed build error introduced at r55237. ------------------------------------------------------------------------ r55238 | nobu | 2016-06-01 09:52:59 +0900 (Wed, 01 Jun 2016) | 3 lines crypt_r.c: adjust style * missing/crypt_r.c: adjust style to BSD as the original. ------------------------------------------------------------------------ r55237 | nobu | 2016-06-01 09:48:08 +0900 (Wed, 01 Jun 2016) | 3 lines use crypt_r * string.c (rb_str_crypt): use reentrant crypt_r. ------------------------------------------------------------------------ r55236 | usa | 2016-06-01 09:37:54 +0900 (Wed, 01 Jun 2016) | 2 lines * missing/crypt.c (des_setkey): void function never returns any value. ------------------------------------------------------------------------ r55235 | nobu | 2016-06-01 09:16:24 +0900 (Wed, 01 Jun 2016) | 3 lines separate crypt.h * crypt.h: separate header file from missing/crypt.c. ------------------------------------------------------------------------ r55234 | nobu | 2016-06-01 09:14:32 +0900 (Wed, 01 Jun 2016) | 4 lines add crypt_r * missing/crypt.c (crypt_r, setkey_r, encrypt_r): add reentrant versions. ------------------------------------------------------------------------ r55233 | nobu | 2016-06-01 02:25:40 +0900 (Wed, 01 Jun 2016) | 5 lines crypt.c: fix size macros * missing/crypt.c: fix size macros to use configured values for platforms long is larger than 32bit. [ruby-core:75792] [Bug #12446] ------------------------------------------------------------------------ r55232 | nobu | 2016-06-01 01:49:32 +0900 (Wed, 01 Jun 2016) | 4 lines crypt.c: protoize * missing/crypt.c: protoize function definitions and make always-zero functions void. ------------------------------------------------------------------------ r55231 | svn | 2016-06-01 01:49:30 +0900 (Wed, 01 Jun 2016) | 1 line * 2016-06-01 ------------------------------------------------------------------------ r55230 | nobu | 2016-06-01 01:49:30 +0900 (Wed, 01 Jun 2016) | 3 lines crypt.c: constify * missing/crypt.c: constify Standard DES Tables. ------------------------------------------------------------------------ r55229 | rhe | 2016-05-31 23:10:11 +0900 (Tue, 31 May 2016) | 5 lines openssl: add missing test for r55219 * test/openssl/test_asn1.rb: Add missing regression test for r55219. It fixed the year 2038 issue but the test code was missing. [ruby-core:45552] [Bug #6571] ------------------------------------------------------------------------ r55228 | nobu | 2016-05-31 17:28:48 +0900 (Tue, 31 May 2016) | 6 lines optparse.rb: fix char class option * lib/optparse.rb (OptionParser::Completion.candidate): get rid of nil as key names. [ruby-core:75773] [Bug #12438] * lib/optparse.rb (OptionParser#make_switch): char class option cannot be NoArgument, default to RequiredArgument. ------------------------------------------------------------------------ r55227 | nobu | 2016-05-31 17:26:30 +0900 (Tue, 31 May 2016) | 4 lines optparse.rb: no duplicate strings * lib/optparse.rb (OptionParser#parse_in_order): get rid of making duplicate strings; $1 and others make a new string each times. ------------------------------------------------------------------------ r55226 | naruse | 2016-05-31 11:56:09 +0900 (Tue, 31 May 2016) | 7 lines Revert r55225 Run test-all before large commit: "* string.c: Activate full Unicode case mapping for UTF-8 by removing" This reverts commit 3fb0fcd1e881c1f6dd74db73a64e8623208acb77. http://rubyci.s3.amazonaws.com/centos5-64/ruby-trunk/log/20160531T013303Z.fail.html.gz ------------------------------------------------------------------------ r55225 | duerst | 2016-05-31 10:10:06 +0900 (Tue, 31 May 2016) | 5 lines * string.c: Activate full Unicode case mapping for UTF-8 by removing the protective check for the presence of an option. Update documentation. * test/ruby/enc/test_case_comprehensive.rb: Adjust tests for above change. ------------------------------------------------------------------------ r55224 | rhe | 2016-05-31 01:52:10 +0900 (Tue, 31 May 2016) | 5 lines openssl: fix test failure on Fedora 23 * test/openssl/test_pair.rb (test_ecdh_curves): Avoid P-224. The FIPS patch from RHEL disables it. The curve has to be chosen from: { secp256k1, secp384r1, secp521r1, prime256v1 }. ------------------------------------------------------------------------ r55223 | svn | 2016-05-31 00:33:07 +0900 (Tue, 31 May 2016) | 1 line * 2016-05-31 ------------------------------------------------------------------------ r55222 | usa | 2016-05-31 00:33:06 +0900 (Tue, 31 May 2016) | 3 lines * ext/socket/raddrinfo.c (host_str, port_str): Use StringValueCStr instead of (Safe)StringValue, to detect NUL byte in the string. ------------------------------------------------------------------------ r55221 | nobu | 2016-05-30 23:07:01 +0900 (Mon, 30 May 2016) | 4 lines test_file_exhaustive.rb: writable open * test/ruby/test_file_exhaustive.rb (test_flock_shared): open in writable mode for exclusive lock. ------------------------------------------------------------------------ r55220 | nobu | 2016-05-30 23:05:36 +0900 (Mon, 30 May 2016) | 4 lines raddrinfo.c: fix modifier * ext/socket/raddrinfo.c (host_str, port_str): fix length modifier to size_t. ------------------------------------------------------------------------ r55219 | rhe | 2016-05-30 22:02:13 +0900 (Mon, 30 May 2016) | 5 lines openssl: use NUM2TIMET() to convert Integer to time_t * ext/openssl/ossl_asn1.c (time_to_time_t): Use NUM2TIMET() instead of NUM2LONG(). time_t may be larger than long. [ruby-core:45552] [Bug #6571] ------------------------------------------------------------------------ r55218 | usa | 2016-05-30 21:51:14 +0900 (Mon, 30 May 2016) | 4 lines * test/socket/test_addrinfo.rb (TestSocketAddrinfo#test_addrinfo_ip): previous test logic depended on platform specific implementation. use more portable logic. this fixes a test failure on Windows. ------------------------------------------------------------------------ r55217 | duerst | 2016-05-30 21:15:41 +0900 (Mon, 30 May 2016) | 3 lines * string.c: Document current behavior for other case mapping methods on String. [ci skip] ------------------------------------------------------------------------ r55216 | nobu | 2016-05-30 20:23:32 +0900 (Mon, 30 May 2016) | 6 lines test_addrinfo.rb: signle digit address * test/socket/test_addrinfo.rb (test_addrinfo_ip): use single digit address so that the values are same in both decimal and octal. some platform zero-prefixed dotted-decimal is parsed as an octal value. ------------------------------------------------------------------------ r55215 | duerst | 2016-05-30 20:00:26 +0900 (Mon, 30 May 2016) | 2 lines * string.c: Document current situation for String#downcase. [ci skip] ------------------------------------------------------------------------ r55214 | rhe | 2016-05-30 18:30:38 +0900 (Mon, 30 May 2016) | 36 lines openssl: add SSLContext#ecdh_curves= * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): Enable the automatic curve selection for ECDH by calling SSL_CTX_set_ecdh_auto(). With this a TLS server automatically selects a curve which both the client and the server support to use in ECDH. This changes the default behavior but users can still disable ECDH by excluding 'ECDH' cipher suites from the cipher list (with SSLContext#ciphers=). This commit also deprecate #tmp_ecdh_callback=. It was added in Ruby 2.3.0. It wraps SSL_CTX_set_tmp_ecdh_callback() which will be removed in OpenSSL 1.1.0. Its callback receives two values 'is_export' and 'keylength' but both are completely useless for determining a curve to use in ECDH. The automatic curve selection was introduced to replace this. (ossl_sslctx_setup): Deprecate SSLContext#tmp_ecdh_callback=. Emit a warning if this is in use. (ossl_sslctx_set_ecdh_curves): Add SSLContext#ecdh_curves=. Wrap SSL_CTX_set1_curves_list(). If it is not available, this falls back to SSL_CTX_set_tmp_ecdh(). (Init_ossl_ssl): Define SSLContext#ecdh_curves=. * ext/openssl/extconf.rb: Check the existence of EC_curve_nist2nid(), SSL_CTX_set1_curves_list(), SSL_CTX_set_ecdh_auto() and SSL_CTX_set_tmp_ecdh_callback(). * ext/openssl/openssl_missing.[ch]: Implement EC_curve_nist2nid() if missing. * test/openssl/test_pair.rb (test_ecdh_callback): Use EnvUtil.suppress_warning to suppress deprecated warning. (test_ecdh_curves): Test that SSLContext#ecdh_curves= works. * test/openssl/utils.rb (start_server): Use SSLContext#ecdh_curves=. ------------------------------------------------------------------------ r55213 | nobu | 2016-05-30 16:28:55 +0900 (Mon, 30 May 2016) | 6 lines raddrinfo.c: fix for SHARABLE_MIDDLE_SUBSTRING * ext/socket/raddrinfo.c (host_str, port_str): use RSTRING_LEN instead of strlen, since RSTRING_PTR StringValueCStr may not be NUL-terminated when SHARABLE_MIDDLE_SUBSTRING=1. reported by @tmtms, http://twitter.com/tmtms/status/736910516229005312 ------------------------------------------------------------------------ r55212 | nobu | 2016-05-30 16:20:28 +0900 (Mon, 30 May 2016) | 4 lines string.c: return reallocated pointer * string.c (str_fill_term): return new pointer reallocated by filling terminator. ------------------------------------------------------------------------ r55211 | nobu | 2016-05-30 15:12:13 +0900 (Mon, 30 May 2016) | 4 lines test_addrinfo.rb: special hostnames * test/socket/test_addrinfo.rb (test_addrinfo_ip): add tests for special hostnames, <any> and <broadcast>. ------------------------------------------------------------------------ r55210 | nobu | 2016-05-30 14:54:59 +0900 (Mon, 30 May 2016) | 4 lines stringio.c: share strings * ext/stringio/stringio.c (enc_subseq): share the return value and the buffer as possible. ------------------------------------------------------------------------ r55209 | nobu | 2016-05-30 14:50:27 +0900 (Mon, 30 May 2016) | 5 lines string.c: get rid of unnecessary empty string * string.c (str_substr, rb_str_aref): refactor not to create unnecessary empty string. * string.c (str_byte_substr, str_byte_aref): ditto. ------------------------------------------------------------------------ r55208 | nobu | 2016-05-30 14:41:02 +0900 (Mon, 30 May 2016) | 4 lines string.c: check in the order * string.c (rb_str_aref_m, rb_str_byteslice): check arguments in the left-to-right order. ------------------------------------------------------------------------ r55207 | nobu | 2016-05-30 14:18:16 +0900 (Mon, 30 May 2016) | 4 lines variable.c: check length * variable.c (check_autoload_required): check length first before checking the first byte. ------------------------------------------------------------------------ r55206 | nagachika | 2016-05-30 03:28:39 +0900 (Mon, 30 May 2016) | 1 line * ChangeLog: fix a typo for r55198. ------------------------------------------------------------------------ r55205 | svn | 2016-05-30 00:10:44 +0900 (Mon, 30 May 2016) | 1 line * 2016-05-30 ------------------------------------------------------------------------ r55204 | usa | 2016-05-30 00:10:44 +0900 (Mon, 30 May 2016) | 3 lines * ext/-test-/auto_ext.rb: fixed a heedless bug introduced at r55198. this change will make RubyCI green. ------------------------------------------------------------------------ r55203 | naruse | 2016-05-29 22:58:45 +0900 (Sun, 29 May 2016) | 2 lines * regexec.c (ONIGENC_IS_MBC_ASCII_WORD): redefine optimized one. WORD of Ruby's ascii compatible encoding is always [a-zA-Z0-9_]. ------------------------------------------------------------------------ r55202 | naruse | 2016-05-29 22:56:38 +0900 (Sun, 29 May 2016) | 1 line * regexec.c (match_at): make compilers optimize harder. ------------------------------------------------------------------------ r55201 | nobu | 2016-05-29 19:18:20 +0900 (Sun, 29 May 2016) | 4 lines vm_core.h: rb_exc_set_backtrace declaration * vm_core.h (rb_exc_set_backtrace): move declaration from eval_error.c and vm_args.c. ------------------------------------------------------------------------ r55200 | nobu | 2016-05-29 13:10:28 +0900 (Sun, 29 May 2016) | 5 lines win32.c: RUBY_CRITICAL * win32/win32.c (RUBY_CRITICAL): removed the argument but make just a block which does nothing, so that debuggers can step into the block. ------------------------------------------------------------------------ r55199 | svn | 2016-05-29 12:08:46 +0900 (Sun, 29 May 2016) | 1 line * 2016-05-29 ------------------------------------------------------------------------ r55198 | nobu | 2016-05-29 12:08:45 +0900 (Sun, 29 May 2016) | 4 lines auto_ext.rb * ext/-test-/auto_ext.rb (auto_ext): utitily method to create extension libraries for tests. ------------------------------------------------------------------------ r55197 | nobu | 2016-05-28 20:40:58 +0900 (Sat, 28 May 2016) | 4 lines ruby-insert-heredoc-code-block * misc/ruby-additional.el (ruby-insert-heredoc-code-block): insert here document code block for assert_separately mainly. ------------------------------------------------------------------------ r55196 | duerst | 2016-05-28 20:34:20 +0900 (Sat, 28 May 2016) | 4 lines * test/test_unicode_normalize.rb: Add test to check for availability of Unicode data file; refactoring; fix an error with tests for destructive method (unicode_normalize!). ------------------------------------------------------------------------ r55195 | nobu | 2016-05-28 19:45:48 +0900 (Sat, 28 May 2016) | 4 lines test_file_exhaustive.rb: blocking flock * test/ruby/test_file_exhaustive.rb (test_flock): add assertions for the blocking cases. ------------------------------------------------------------------------ r55194 | svn | 2016-05-28 19:08:37 +0900 (Sat, 28 May 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55193 | duerst | 2016-05-28 19:08:37 +0900 (Sat, 28 May 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Add error messages to tests for data file availability; refactoring. ------------------------------------------------------------------------ r55192 | nobu | 2016-05-28 14:33:52 +0900 (Sat, 28 May 2016) | 1 line ChangeLog: fix typos [ci skip] ------------------------------------------------------------------------ r55191 | rhe | 2016-05-28 14:00:36 +0900 (Sat, 28 May 2016) | 45 lines openssl: move SSLSocket#initialize to C extension * ext/openssl/lib/openssl/ssl.rb (SSLSocket): Move the implementation of SSLSocket#initialize to C. Initialize the SSL (OpenSSL object) in it. Currently this is delayed until ossl_ssl_setup(), which is called from SSLSocket#accept or #connect. Say we call SSLSocket#hostname= with an illegal value. We expect an exception to be raised in #hostname= but actually we get it in the later SSLSocket#connect. Because the SSL is not ready at #hostname=, the actual call of SSL_set_tlsext_host_name() is also delayed. This also fixes: [ruby-dev:49376] [Bug #11724] * ext/openssl/ossl_ssl.c (ossl_ssl_initialize): Added. Almost the same as the Ruby version but this instantiate the SSL object at the same time. (ossl_ssl_setup): Adjust to the changes. Just set the underlying IO to the SSL. (ssl_started): Added. Make use of SSL_get_fd(). This returns -1 if not yet set by SSL_set_fd(). (ossl_ssl_data_get_struct): Removed. Now GetSSL() checks that the SSL exists. (ossl_ssl_set_session): Don't call ossl_ssl_setup() here as now the SSL is already instantiated in #initialize. (ossl_ssl_shutdown, ossl_start_ssl, ossl_ssl_read_internal, ossl_ssl_write_internal, ossl_ssl_stop, ossl_ssl_get_cert, ossl_ssl_get_peer_cert, ossl_ssl_get_peer_cert_chain, ossl_ssl_get_version, ossl_ssl_get_cipher, ossl_ssl_get_state, ossl_ssl_pending, ossl_ssl_session_reused, ossl_ssl_get_verify_result, ossl_ssl_get_client_ca_list, ossl_ssl_npn_protocol, ossl_ssl_alpn_protocol, ossl_ssl_tmp_key): Use GetSSL() instead of ossl_ssl_data_get_struct(). Use ssl_started(). (Init_ossl_ssl): Add method declarations of SSLSocket#{initialize, hostname=}. * ext/openssl/ossl_ssl.h (GetSSL): Check that the SSL is not NULL. It should not be NULL because we now set it in #initialize. * ext/openssl/ossl_ssl_session.c (ossl_ssl_session_initialize): No need to check if the SSL is NULL. ------------------------------------------------------------------------ r55190 | hsbt | 2016-05-28 10:47:44 +0900 (Sat, 28 May 2016) | 2 lines * gems/bundled_gems: Update latest releases, power_assert-0.3.0, test-unit 3.1.9, minitest 5.9.0, did_you_mean 1.0.1 ------------------------------------------------------------------------ r55189 | hsbt | 2016-05-28 10:46:27 +0900 (Sat, 28 May 2016) | 4 lines * addr2line.c: drop to support ATARI ST platform. It was discontinued more than two decades ago. [fix GH-1350] Patch by @cremno * include/ruby/ruby.h: ditto. * io.c: ditto. ------------------------------------------------------------------------ r55188 | duerst | 2016-05-28 10:39:48 +0900 (Sat, 28 May 2016) | 3 lines * test/ruby/enc/test_case_comprehensive.rb: Converted exception for unavailable Unicode data files to failed assertion. ------------------------------------------------------------------------ r55187 | duerst | 2016-05-28 10:37:49 +0900 (Sat, 28 May 2016) | 1 line ------------------------------------------------------------------------ r55186 | svn | 2016-05-28 10:26:22 +0900 (Sat, 28 May 2016) | 1 line * 2016-05-28 ------------------------------------------------------------------------ r55185 | hsbt | 2016-05-28 10:26:21 +0900 (Sat, 28 May 2016) | 2 lines * lib/cgi/util.rb: added to missing quote. [fix GH-1363][ci skip] Patch by @dwaller ------------------------------------------------------------------------ r55184 | kazu | 2016-05-27 22:13:08 +0900 (Fri, 27 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55183 | nobu | 2016-05-27 20:43:23 +0900 (Fri, 27 May 2016) | 4 lines process.c: [DOC] Process.abort [ci skip] * process.c (rb_f_abort): [DOC] Process.abort is a singleton method of Process, but not an instance method. ------------------------------------------------------------------------ r55182 | nobu | 2016-05-27 17:38:50 +0900 (Fri, 27 May 2016) | 4 lines variable.c: hidden constants * variable.c (rb_local_constants_i): exclude hidden constants. [ruby-core:75575] [Bug #12389] ------------------------------------------------------------------------ r55181 | nobu | 2016-05-27 17:09:46 +0900 (Fri, 27 May 2016) | 5 lines transcode.c: scrub in the given encoding * transcode.c (str_transcode0): scrub in the given encoding when the source encoding is given, not in the encoding of the receiver. [ruby-core:75732] [Bug #12431] ------------------------------------------------------------------------ r55180 | nobu | 2016-05-27 15:07:34 +0900 (Fri, 27 May 2016) | 9 lines fix non-static rb_scan_args * include/ruby/ruby.h (rb_scan_args): remove nul padding which caused syntax error if fmt is not a string literal. * include/ruby/ruby.h (rb_scan_args_verify): suppress array-bounds warnings by old clang. * include/ruby/ruby.h (rb_scan_args0): make extractor macros inline functions, which do not varidate the format and are unnecessary to be expanded. ------------------------------------------------------------------------ r55179 | nobu | 2016-05-27 14:44:52 +0900 (Fri, 27 May 2016) | 3 lines ruby.h: fix parameter name * include/ruby/ruby.h (rb_scan_args): fix macro parameter name. ------------------------------------------------------------------------ r55178 | naruse | 2016-05-27 01:51:49 +0900 (Fri, 27 May 2016) | 7 lines * symbol.c (is_identchar): use ISDIGIT instead of rb_enc_isalnum. Though rb_enc_isalnum is encoding aware function, its argument here is *m, which is a single byte. Therefore ISDIGIT is faster. * symbol.c (is_special_global_name): ditto. * symbol.c (rb_enc_symname_type): ditto. ------------------------------------------------------------------------ r55177 | svn | 2016-05-27 00:39:44 +0900 (Fri, 27 May 2016) | 1 line * 2016-05-27 ------------------------------------------------------------------------ r55176 | nobu | 2016-05-27 00:39:43 +0900 (Fri, 27 May 2016) | 13 lines ruby.h: fix for old clang * include/ruby/ruby.h (rb_scan_args): add nul padding here to apply to all references. * include/ruby/ruby.h (rb_scan_args_verify): move length mismatch check outside conditional operators. Since old clang cannot optimize away string literal dereference by an immediate index, e.g., ""[0], and both of true and false side expressions are compiled and warned unintentionally. With such old compilers, the check in rb_scan_args() does not work but may result unpredictable value if the format is wrong. ------------------------------------------------------------------------ r55175 | rhe | 2016-05-26 14:24:58 +0900 (Thu, 26 May 2016) | 13 lines openssl: avoid NULL dereference in {DH,DSA,RSA}_size() * ext/openssl/ossl_pkey_dh.c (ossl_dh_compute_key): Check that the DH has 'p' (the prime) before calling DH_size(). We can create a DH with no parameter but DH_size() does not check and dereferences NULL. [ruby-core:75720] [Bug #12428] * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_sign): Ditto. DSA_size() does not check dsa->q. * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_public_encrypt, ossl_rsa_public_decrypt, ossl_rsa_private_encrypt, ossl_rsa_private_decrypt): Ditto. RSA_size() does not check rsa->n. ------------------------------------------------------------------------ r55174 | nobu | 2016-05-26 14:16:04 +0900 (Thu, 26 May 2016) | 4 lines ruby.h: suppress warnings * include/ruby/ruby.h (rb_scan_args_count): add filler nul bytes to suppress array-bounds warnings by old clang. ------------------------------------------------------------------------ r55173 | nobu | 2016-05-26 14:13:54 +0900 (Thu, 26 May 2016) | 4 lines ruby.h: count and verify * include/ruby/ruby.h (rb_scan_args_count): verify length with counting variables together. ------------------------------------------------------------------------ r55172 | nobu | 2016-05-26 14:11:07 +0900 (Thu, 26 May 2016) | 5 lines revert r55171 Revert r55171, "ruby.h: fix clang warnings", it did fix array-bounds warnings, but caused string-plus-int warnings instead. ------------------------------------------------------------------------ r55171 | nobu | 2016-05-26 10:30:31 +0900 (Thu, 26 May 2016) | 4 lines ruby.h: fix clang warnings * include/ruby/ruby.h (rb_scan_args0): use pointer dereference forms instead of array forms, to get rid of warnings by clang. ------------------------------------------------------------------------ r55170 | svn | 2016-05-26 09:45:45 +0900 (Thu, 26 May 2016) | 1 line * properties. ------------------------------------------------------------------------ r55169 | svn | 2016-05-26 09:45:45 +0900 (Thu, 26 May 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55168 | duerst | 2016-05-26 09:45:44 +0900 (Thu, 26 May 2016) | 4 lines * test/ruby/enc/test_case_comprehensive.rb: Add set of comprehensive (across most Unicode characters; later across most character encodings) tests for case mapping. ------------------------------------------------------------------------ r55167 | svn | 2016-05-26 05:01:25 +0900 (Thu, 26 May 2016) | 1 line * 2016-05-26 ------------------------------------------------------------------------ r55166 | eregon | 2016-05-26 05:01:24 +0900 (Thu, 26 May 2016) | 1 line * class.c (rb_define_class): Fix documentation. ------------------------------------------------------------------------ r55165 | naruse | 2016-05-25 20:51:37 +0900 (Wed, 25 May 2016) | 2 lines * re.c (unescape_nonascii): scan hex up to only 3 characters. [Bug #12420] [Bug #12423] ------------------------------------------------------------------------ r55164 | duerst | 2016-05-25 19:07:19 +0900 (Wed, 25 May 2016) | 2 lines * enc/unicode.c: Handle DOTLESS_i by hand because it isn't involved in folding. ------------------------------------------------------------------------ r55163 | naruse | 2016-05-25 18:45:22 +0900 (Wed, 25 May 2016) | 2 lines * regparse.c (fetch_token_in_cc): raise error if given octal escaped character is too big. [Bug #12420] [Bug #12423] ------------------------------------------------------------------------ r55162 | rhe | 2016-05-25 17:50:03 +0900 (Wed, 25 May 2016) | 3 lines openssl: drop OpenSSL 0.9.6/0.9.7 support * ext/openssl, test/openssl: Drop OpenSSL < 0.9.8 support. ------------------------------------------------------------------------ r55161 | rhe | 2016-05-25 17:46:40 +0900 (Wed, 25 May 2016) | 5 lines openssl: remove unnecessary 'extern "C"' blocks from local headers * ext/openssl/openssl_missing.h, ext/openssl/ossl.h: Remove unnecessary 'extern "C"' blocks. We don't use C++ and these headers are local to ext/openssl, so there is no need to enclose with it. ------------------------------------------------------------------------ r55160 | rhe | 2016-05-25 17:46:39 +0900 (Wed, 25 May 2016) | 8 lines openssl: remove check of OPENSSL_FIPS macro in extconf.rb * ext/openssl/extconf.rb: Remove check of OPENSSL_FIPS macro. This is unneeded because we can check the macro directly in source code, just as we already do for OPENSSL_NO_* macros. * ext/openssl/ossl.c: Replace occurrences of HAVE_OPENSSL_FIPS with OPENSSL_FIPS. ------------------------------------------------------------------------ r55159 | nobu | 2016-05-25 17:13:37 +0900 (Wed, 25 May 2016) | 3 lines class.c: simplify * class.c (rb_scan_args): merge code for n_trail. ------------------------------------------------------------------------ r55158 | nobu | 2016-05-25 17:11:36 +0900 (Wed, 25 May 2016) | 4 lines ruby.h: rb_scan_args_validate * include/ruby/ruby.h (rb_scan_args_validate): move failed condition to the terminal. [ruby-core:75714] [Bug #12426] ------------------------------------------------------------------------ r55157 | nobu | 2016-05-25 15:05:48 +0900 (Wed, 25 May 2016) | 1 line regcomp.c: fix debug conditionals ------------------------------------------------------------------------ r55156 | nobu | 2016-05-25 15:05:47 +0900 (Wed, 25 May 2016) | 4 lines fake.rb: buildlibdir * tool/fake.rb: set "buildlibdir" to the build directory, instead of "builddir" which is filterd by MakeMakefile#configuration. ------------------------------------------------------------------------ r55155 | naruse | 2016-05-25 13:21:32 +0900 (Wed, 25 May 2016) | 2 lines * regcomp.c: remove condition for debug output because prelude doesn't use regexp now. ------------------------------------------------------------------------ r55154 | naruse | 2016-05-25 13:21:31 +0900 (Wed, 25 May 2016) | 2 lines * regcomp.c (compile_length_tree): return error code immediately if compile_length_tree raised error [Bug #12418] ------------------------------------------------------------------------ r55153 | duerst | 2016-05-25 08:01:39 +0900 (Wed, 25 May 2016) | 3 lines * enc/unicode.c: Fix flag error for switch from titlecase to lowercase. * test/ruby/enc/test_case_mapping.rb: Tests for above error. ------------------------------------------------------------------------ r55152 | rhe | 2016-05-25 01:30:15 +0900 (Wed, 25 May 2016) | 11 lines openssl: add EC.generate * ext/openssl/ossl_pkey_ec.c (ec_key_new_from_group): Create a new EC_KEY on given EC group. Extracted from ossl_ec_key_initialize(). (ossl_ec_key_s_generate): Added. Create a new EC instance and generate a random private and public key. (ossl_ec_key_initialize): Use ec_key_new_from_group(). (Init_ossl_ec): Define the new method EC.generate. This change is for consistency with other PKey types. [ruby-core:45541] [Bug #6567] * test/openssl/test_pkey_ec.rb: Test that EC.generate works. ------------------------------------------------------------------------ r55151 | rhe | 2016-05-25 01:27:11 +0900 (Wed, 25 May 2016) | 9 lines openssl: rename EC#generate_key to EC#generate_key! * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_generate_key): Fix up RDoc. (Init_ossl_ec): Rename EC#generate_key to EC#generate_key!. Make the old name an alias of #generate_key!. This change is for consistency with other PKey types. [ruby-core:45541] [Bug #6567] * test/openssl/test_pkey_ec.rb: Use EC#generate_key! instead of EC#generate_key. ------------------------------------------------------------------------ r55150 | nobu | 2016-05-25 00:23:06 +0900 (Wed, 25 May 2016) | 5 lines ruby.h: optimize rb_scan_args_set * include/ruby/ruby.h (rb_scan_args_set): check the arity after adjusting argc for an option hash, for optimization in simpler cases. ------------------------------------------------------------------------ r55149 | svn | 2016-05-25 00:21:54 +0900 (Wed, 25 May 2016) | 1 line * 2016-05-25 ------------------------------------------------------------------------ r55148 | nobu | 2016-05-25 00:21:53 +0900 (Wed, 25 May 2016) | 4 lines configure.in: merge ruby_cflags to XCFLAGS * configure.in (XCFLAGS): merge flags only for ruby itself from ruby_cflags. ------------------------------------------------------------------------ r55147 | kazu | 2016-05-24 23:00:53 +0900 (Tue, 24 May 2016) | 1 line Remove a space [ci skip] ------------------------------------------------------------------------ r55146 | rhe | 2016-05-24 22:09:03 +0900 (Tue, 24 May 2016) | 9 lines openssl: make Cipher#key= and #iv= reject too long values * ext/openssl/ossl_cipher.c (ossl_cipher_set_key, ossl_cipher_set_iv): Reject too long values as well as too short ones. Currently they just truncate the input but this would hide bugs and lead to unexpected encryption/decryption results. * test/openssl/test_cipher.rb: Test that Cipher#key= and #iv= reject Strings with invalid length. ------------------------------------------------------------------------ r55145 | rhe | 2016-05-24 21:39:57 +0900 (Tue, 24 May 2016) | 13 lines openssl: avoid deprecated M_ASN1_* macros * ext/openssl/ossl_x509ext.c (ossl_x509ext_set_value): Use ASN1_OCTET_STRING_set() instead of M_ASN1_OCTET_STRING_set(). Macros prefixed by "M_" are discouraged to be used from outside OpenSSL library[1]. (ossl_x509ext_get_value): Likewise, use ASN1_STRING_print() instead of M_ASN1_OCTET_STRING_print(). [1] https://git.openssl.org/gitweb/?p=openssl.git;a=blob;f=CHANGES;h=bf61913d7b01212b4d8b2f3c13d71d645914f67c;hb=b6079a7835f61daa9fb2cbf9addfa86049523933#l878 * ext/openssl/ossl.h: Include openssl/asn1.h instead of openssl/asn1_mac.h. It just includes openssl/asn1.h and defines some additional "M_" macros. ------------------------------------------------------------------------ r55144 | nobu | 2016-05-24 18:52:14 +0900 (Tue, 24 May 2016) | 5 lines ruby.h: rb_scan_args_verify * include/ruby/ruby.h (rb_scan_args_verify): verify the format to scan if no invalid chars and variable argument length matching, at the compile time if possible. ------------------------------------------------------------------------ r55143 | nobu | 2016-05-24 17:18:47 +0900 (Tue, 24 May 2016) | 4 lines defines.h: fallback ERRORFUNC and WARNINGFUNC * include/ruby/defines.h (ERRORFUNC, WARNINGFUNC): add fallback definitions. ------------------------------------------------------------------------ r55142 | naruse | 2016-05-24 16:49:25 +0900 (Tue, 24 May 2016) | 4 lines * configure.in (ruby_cflags): separate from optflags [Bug #12409] -fexcess-precision=standard and -fp-model precise are set to this now. * configure.in (cflags): use ruby_cflags. ------------------------------------------------------------------------ r55141 | nobu | 2016-05-24 16:28:34 +0900 (Tue, 24 May 2016) | 1 line fix missing argument ------------------------------------------------------------------------ r55140 | nobu | 2016-05-24 16:20:55 +0900 (Tue, 24 May 2016) | 4 lines fix __error__ and __warning__ attribute checks * configure.in (ERRORFUNC, WARNINGFUNC): __error__ and __warning__ attributes take a parenthesized string literal. ------------------------------------------------------------------------ r55139 | svn | 2016-05-24 12:44:00 +0900 (Tue, 24 May 2016) | 1 line * 2016-05-24 ------------------------------------------------------------------------ r55138 | shyouhei | 2016-05-24 12:43:59 +0900 (Tue, 24 May 2016) | 3 lines * common.mk : sort lines, and add missing dependencies suggested by tool/update-deps ------------------------------------------------------------------------ r55137 | kazu | 2016-05-23 22:26:22 +0900 (Mon, 23 May 2016) | 1 line fix indent (tabify) [ci skip] ------------------------------------------------------------------------ r55136 | nobu | 2016-05-23 21:33:39 +0900 (Mon, 23 May 2016) | 3 lines missing.h: isfinite * include/ruby/missing.h (isfinite): move from numeric.c. ------------------------------------------------------------------------ r55135 | rhe | 2016-05-23 21:10:38 +0900 (Mon, 23 May 2016) | 8 lines openssl: Avoid reference to unset global variable in Init_openssl() * ext/openssl/ossl.c (Init_openssl): Avoid reference to unset global variable. ossl_raise() may be called before dOSSL is set. Since global variables default to 0 and the default value of dOSSL set in Init_openssl() is also Qfalse, there is no real issue but confusing. Patch by Bertram Scharpf <software@bertram-scharpf.de> [ruby-core:58264] [Bug #9101] ------------------------------------------------------------------------ r55134 | rhe | 2016-05-23 20:40:07 +0900 (Mon, 23 May 2016) | 11 lines openssl: use StringValueCStr() where NUL-terminated string is expected * ext/openssl/ossl_asn1.c, ext/openssl/ossl_bn.c, ext/openssl/ossl_cipher.c, ext/openssl/ossl_digest.c ext/openssl/ossl_engine.c, ext/openssl/ossl_ns_spki.c ext/openssl/ossl_pkcs12.c, ext/openssl/ossl_pkcs7.c ext/openssl/ossl_pkey.c, ext/openssl/ossl_pkey_ec.c ext/openssl/ossl_rand.c, ext/openssl/ossl_ssl.c ext/openssl/ossl_x509attr.c, ext/openssl/ossl_x509cert.c ext/openssl/ossl_x509ext.c, ext/openssl/ossl_x509store.c: Use StringValueCStr() where NUL-terminated string is expected. ------------------------------------------------------------------------ r55133 | usa | 2016-05-23 20:21:11 +0900 (Mon, 23 May 2016) | 3 lines * ext/bigdecimal/bigdecimal.c (isfinite): get rid of a warning on cygwin. [Bug #12417][ruby-core:75691] ------------------------------------------------------------------------ r55132 | rhe | 2016-05-23 19:47:37 +0900 (Mon, 23 May 2016) | 8 lines openssl: fix incorrect return value check of RAND_* functions * ext/openssl/ossl_rand.c (ossl_rand_egd, ossl_rand_egd_bytes): RAND_egd{_bytes,}() return -1 on failure, not 0. Patch by cremno phobia <cremno@mail.ru> [ruby-core:63795] [Bug #10053] (ossl_pseudo_bytes): Similar, RAND_pseudo_bytes() may return 0 or -1 on failure. ------------------------------------------------------------------------ r55131 | nobu | 2016-05-23 19:45:13 +0900 (Mon, 23 May 2016) | 4 lines revert error attributes * include/ruby/ruby.h (rb_scan_args0): revert error attributes, which may not be optimized away in readline extension library. ------------------------------------------------------------------------ r55130 | nobu | 2016-05-23 19:35:37 +0900 (Mon, 23 May 2016) | 1 line fix a typo ------------------------------------------------------------------------ r55129 | usa | 2016-05-23 15:55:48 +0900 (Mon, 23 May 2016) | 8 lines * ext/bigdecimal/bigdecimal.c (isfinite): isfinite does not always exist. fixed build error on Windows itroduced at r55123. I found that more complex definition of isfinite in numeric.c. But it's unused because it inplicitly checks not defined _WIN32. I don't know why the code do that. IMO, the definition of isfinite should be put at missing.h. ------------------------------------------------------------------------ r55128 | nobu | 2016-05-23 13:40:43 +0900 (Mon, 23 May 2016) | 5 lines tcltklib.c: elimitate dead code * ext/tk/tcltklib.c (lib_do_one_event_core): elimitate dead code. after Check_Type, FIX2INT which implies conversion is not useless. nil and fixnum cannot be tainted. ------------------------------------------------------------------------ r55127 | nobu | 2016-05-23 13:31:55 +0900 (Mon, 23 May 2016) | 12 lines remove unnecessary volatiles * ext/dbm/dbm.c (fdbm_initialize): used for rb_sys_fail_str. * ext/sdbm/init.c (fsdbm_initialize): ditto. * ext/tk/tcltklib.c (lib_do_one_event_core): no effect. * ext/tk/tkutil/tkutil.c (tk_eval_cmd, tk_get_eval_string): no effect if tail call optimized. * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): set to const. ------------------------------------------------------------------------ r55126 | nobu | 2016-05-23 13:31:54 +0900 (Mon, 23 May 2016) | 4 lines tkutil.c: GC guards * ext/tk/tkutil/tkutil.c (cbsubst_table_setup): add GC guards instead of volatile after the uses. ------------------------------------------------------------------------ r55125 | nobu | 2016-05-23 13:19:43 +0900 (Mon, 23 May 2016) | 5 lines make compile error if possible * include/ruby/ruby.h (rb_scan_args0): make compile error if the format is wrong or does not match with the variable argument length if possible. ------------------------------------------------------------------------ r55124 | nobu | 2016-05-23 12:47:11 +0900 (Mon, 23 May 2016) | 5 lines fatal error if variable argument length mismatch * include/ruby/ruby.h (rb_scan_args0): raise fatal error if variable argument length does not match, it is a bug in the code which uses rb_scan_args, not a runtime error. ------------------------------------------------------------------------ r55123 | nobu | 2016-05-23 12:30:30 +0900 (Mon, 23 May 2016) | 5 lines bigdecimal.c: fix FloatDomainError * ext/bigdecimal/bigdecimal.c (GetVpValueWithPrec): consider non-finite float values not to raise FloatDomainError. [ruby-core:75682] [Bug #12414] ------------------------------------------------------------------------ r55122 | naruse | 2016-05-23 12:23:24 +0900 (Mon, 23 May 2016) | 2 lines * array.c (rb_ary_fill): suppress warnings: 'item' may be used uninitialized in this function ------------------------------------------------------------------------ r55121 | svn | 2016-05-23 08:09:39 +0900 (Mon, 23 May 2016) | 1 line * 2016-05-23 ------------------------------------------------------------------------ r55120 | normal | 2016-05-23 08:09:38 +0900 (Mon, 23 May 2016) | 3 lines dir.c (dir_close): update RDoc for 2.3 #close change [ruby-core:75679] [Bug #12413] ------------------------------------------------------------------------ r55119 | svn | 2016-05-22 20:03:44 +0900 (Sun, 22 May 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r55118 | seki | 2016-05-22 20:03:43 +0900 (Sun, 22 May 2016) | 1 line use finalizer trick instead of thread. ------------------------------------------------------------------------ r55117 | duerst | 2016-05-22 17:25:18 +0900 (Sun, 22 May 2016) | 3 lines * test/ruby/enc/test_case_options.rb: adjust test class name to match file name ------------------------------------------------------------------------ r55116 | duerst | 2016-05-22 17:24:08 +0900 (Sun, 22 May 2016) | 3 lines * rename test/ruby/enc/test_casing_options.rb to test_case_options.rb for consistency ------------------------------------------------------------------------ r55115 | nobu | 2016-05-22 17:06:57 +0900 (Sun, 22 May 2016) | 5 lines transcode.c: GC guards * transcode.c (enc_arg, str_transcode_enc_args, econv_args): remove volatile, and add GC guards in callers. [ruby-core:75664] [Bug #12411] ------------------------------------------------------------------------ r55114 | nobu | 2016-05-22 16:27:02 +0900 (Sun, 22 May 2016) | 5 lines -test-/integer * ext/-test-/integer/core_ext.c: move testutil/integer.c. * test/lib/-test-/integer.rb: extract implementation details from test/unit/assertions.rb. [Bug #12408] ------------------------------------------------------------------------ r55113 | duerst | 2016-05-22 14:57:44 +0900 (Sun, 22 May 2016) | 9 lines * include/ruby/oniguruma.h: Extend OnigEncodingTypeDefine to define a new encoding primitive 'case_map' for case mapping * enc/utf-8.c, utf_16be/le.c, utf_32be/le.c: add onigenc_unicode_case_map as case_map primitive * enc/ascii.c, big5.c, cp949.c, emacs_mule.c, euc_jp/kr/tw.c, gb18030.c, gbk.c, iso_8859_1/2/3/4/5/6/7/8/9/10/11/13/14/15/16.c, koi8_r/u.c, shift_jis.c, us_ascii.c, windows_1250/1251/1252.c: add onigenc_not_support_case_map as case_map primitive ------------------------------------------------------------------------ r55112 | duerst | 2016-05-22 14:45:45 +0900 (Sun, 22 May 2016) | 1 line regenc.h/c: Define new function onigenc_not_support_case_map ------------------------------------------------------------------------ r55111 | naruse | 2016-05-22 12:31:22 +0900 (Sun, 22 May 2016) | 2 lines * include/ruby/ruby.h (rb_scan_args): use original rb_scan_args when fmt is dynamic. ------------------------------------------------------------------------ r55110 | naruse | 2016-05-22 11:44:54 +0900 (Sun, 22 May 2016) | 6 lines * class.c (rb_scan_args): moved to bottom of the file to make the effect of `#undef rb_scan_args` the minimum. * include/ruby/ruby.h (rb_scan_args): overwrite only if GCC and optimized. Visual C++ 14 or later can compile it but make it conservative. ------------------------------------------------------------------------ r55109 | nobu | 2016-05-22 11:28:03 +0900 (Sun, 22 May 2016) | 1 line move duplicate assertions ------------------------------------------------------------------------ r55108 | nobu | 2016-05-22 03:09:05 +0900 (Sun, 22 May 2016) | 8 lines just check Integer * test/ruby/test_bignum.rb (test_pow): just assert to be an Integer. * test/ruby/test_integer_comb.rb (check_class): ditto. * test/ruby/test_numeric.rb (test_coerce): ditto. ------------------------------------------------------------------------ r55107 | nobu | 2016-05-22 03:06:04 +0900 (Sun, 22 May 2016) | 4 lines hash method values * test/ruby/test_{complex,range,rational,struct}.rb (test_hash): hash values should be an Integer, not only a Fixnum. ------------------------------------------------------------------------ r55106 | svn | 2016-05-22 02:47:53 +0900 (Sun, 22 May 2016) | 1 line * 2016-05-22 ------------------------------------------------------------------------ r55105 | naruse | 2016-05-22 02:47:52 +0900 (Sun, 22 May 2016) | 5 lines * ext/zlib/zlib.c: remove hacky macro introduced at r30437. * ext/zlib/zlib.c (gzfile_make_header): cast as long (instead of int). * ext/zlib/zlib.c (gzfile_make_footer): ditto. ------------------------------------------------------------------------ r55104 | naruse | 2016-05-21 23:01:23 +0900 (Sat, 21 May 2016) | 4 lines Revert r50102 This reverts "* include/ruby/ruby.h (rb_scan_args): don't use ALWAYS_INLINE with" This rb_scan_args macro is GCCism. ------------------------------------------------------------------------ r55103 | usa | 2016-05-21 22:47:06 +0900 (Sat, 21 May 2016) | 3 lines * include/ruby/ruby.h (rb_scan_args): don't use ALWAYS_INLINE with `inline`. if gcc needs this duplication, do in ALWAYS_INLINE macro. ------------------------------------------------------------------------ r55102 | naruse | 2016-05-21 22:24:33 +0900 (Sat, 21 May 2016) | 4 lines * include/ruby/ruby.h (rb_scan_args): use __VA_ARGS__ instead of va_arg to allow compilers optimize more aggressive. https://gustedt.wordpress.com/2011/07/10/avoid-writing-va_arg-functions/ rb_scan_args is now expected to be statically resolved. ------------------------------------------------------------------------ r55101 | naruse | 2016-05-21 22:24:32 +0900 (Sat, 21 May 2016) | 1 line * configure.in (ALWAYS_INLINE): force compilers the function inlined. ------------------------------------------------------------------------ r55100 | rhe | 2016-05-21 16:25:00 +0900 (Sat, 21 May 2016) | 15 lines openssl: fix possible SEGV on race between SSLSocket#stop and #connect * ext/openssl/ossl_ssl.c (ossl_ssl_stop): Don't free the SSL struct here. Since some methods such as SSLSocket#connect releases GVL, there is a chance of use after free if we free the SSL from another thread. SSLSocket#stop was documented as "prepares it for another connection" so this is a slightly incompatible change. However when this sentence was added (r30090, Add toplevel documentation for OpenSSL, 2010-12-06), it didn't actually. The current behavior is from r40304 (Correct shutdown behavior w.r.t GC., 2013-04-15). [ruby-core:74978] [Bug #12292] * ext/openssl/lib/openssl/ssl.rb (sysclose): Update doc. * test/openssl/test_ssl.rb: Test this. ------------------------------------------------------------------------ r55099 | rhe | 2016-05-21 14:45:41 +0900 (Sat, 21 May 2016) | 5 lines openssl: fix SSL client example in documentation [ci skip] * ext/openssl/ossl.c: [DOC] Fix SSL client example. The variable name was wrong. Patch by Andreas Tiefenthaler <at@an-ti.eu> (@pxlpnk). [GH ruby/openssl#32] ------------------------------------------------------------------------ r55098 | rhe | 2016-05-21 14:30:48 +0900 (Sat, 21 May 2016) | 8 lines openssl: add OpenSSL::PKey::EC#private? and #public? * ext/openssl/ossl_pkey_ec.c: rename PKey::EC#private_key? and #public_key? to #private? and #public? for consistency with other PKey types. Old names remain as alias. [ruby-core:45541] [Bug #6567] * test/openssl/test_pkey_ec.rb (test_check_key): check private? and public? works correctly. ------------------------------------------------------------------------ r55097 | rhe | 2016-05-21 12:44:10 +0900 (Sat, 21 May 2016) | 5 lines openssl: remove impossible EOFError raise in OpenSSL::Buffering * ext/openssl/lib/openssl/buffering.rb (read_nonblock, readpartial): Remove impossible EOFError raise. Patch by Zach Anker <zanker@squareup.com>. [GH ruby/openssl#23] ------------------------------------------------------------------------ r55096 | nobu | 2016-05-21 11:18:44 +0900 (Sat, 21 May 2016) | 4 lines ipaddr: fix typo [ci skip] * lib/ipaddr.rb: [DOC] fix documentation of IN6MASK to mention IPv6. [Fix GH-1349] ------------------------------------------------------------------------ r55095 | nobu | 2016-05-21 11:12:55 +0900 (Sat, 21 May 2016) | 4 lines Restore documentation of ARGF * io.c (Init_IO): [DOC] define dummy ARGF instead of ARGF.class to re-enable the generation of ARGF documentation. [Fix GH-1358] ------------------------------------------------------------------------ r55094 | nobu | 2016-05-21 11:07:31 +0900 (Sat, 21 May 2016) | 4 lines methods.rdoc: closing tag * doc/syntax/methods.rdoc (Method Names): add proper closing tag. [Fix GH-1356] ------------------------------------------------------------------------ r55093 | nobu | 2016-05-21 09:26:31 +0900 (Sat, 21 May 2016) | 4 lines configure.in: missing macro definition * configure.in (RUBY_CHECK_SETJMP): fix missing macro definition for the configured result. fix up r55021. ------------------------------------------------------------------------ r55091 | nobu | 2016-05-21 00:36:34 +0900 (Sat, 21 May 2016) | 5 lines fix build on no-fork-spawnv platforms * process.c (rb_execarg_commandline): build command line string from argument vector in rb_execarg. [ruby-core:75611] [Bug #12398] ------------------------------------------------------------------------ r55090 | nobu | 2016-05-21 00:30:29 +0900 (Sat, 21 May 2016) | 6 lines io.c: conditionally used functions * io.c (pipe_atexit): only used on Windows * io.c (rb_execarg_fixup_v): wrapper only used fork or spawnv is available. ------------------------------------------------------------------------ r55089 | nobu | 2016-05-21 00:29:41 +0900 (Sat, 21 May 2016) | 4 lines ossl.c: suppress warnings * ext/openssl/ossl.c (ossl_pem_passwd_cb): check integer precision. ------------------------------------------------------------------------ r55088 | svn | 2016-05-21 00:05:26 +0900 (Sat, 21 May 2016) | 1 line * 2016-05-21 ------------------------------------------------------------------------ r55087 | rhe | 2016-05-21 00:05:25 +0900 (Sat, 21 May 2016) | 26 lines openssl: improve handling of password for encrypted PEM * ext/openssl/ossl.c (ossl_pem_passwd_value): Added. Convert the argument to String with StringValue() and validate the length is in 4..PEM_BUFSIZE. PEM_BUFSIZE is a macro defined in OpenSSL headers. (ossl_pem_passwd_cb): When reading/writing encrypted PEM format, we used to pass the password to PEM_def_callback() directly but it was problematic. It is not NUL character safe. And surprisingly, it silently truncates the password to 1024 bytes. [GH ruby/openssl#51] * ext/openssl/ossl.h: Add function prototype declaration of newly added ossl_pem_passwd_value(). * ext/openssl/ossl_pkey.c (ossl_pkey_new_from_data): Use ossl_pem_passwd_value() to validate the password String. * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize, ossl_dsa_export): ditto. * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize, ossl_ec_key_to_string): ditto. * ext/openssl/ossl_pkey_rsa.c (ossl_rsa_initialize, ossl_rsa_export): ditto. * test/openssl/test_pkey_{dsa,ec,rsa}.rb: test this. ------------------------------------------------------------------------ r55086 | ngoto | 2016-05-20 23:55:23 +0900 (Fri, 20 May 2016) | 10 lines capa should be even number on 64-bit SPARC for 8-byte word alignment * id_table.c (list_id_table_init): When unaligned word access is prohibited and sizeof(VALUE) is 8 (64-bit machines), capa should always be even number for 8-byte word alignment of the values of a table. This code assumes that sizeof(ID) is 4, sizeof(VALUE) is 8, and xmalloc() returns 8-byte aligned memory. This fixes bus error on 64-bit SPARC Solaris 10. [Bug #12406][ruby-dev:49631] ------------------------------------------------------------------------ r55085 | nobu | 2016-05-20 23:24:39 +0900 (Fri, 20 May 2016) | 4 lines thread_pthread.c: no fork, no gvl_atfork * thread_pthread.c (gvl_atfork): used in rb_thread_atfork_internal only if HAVE_WORKING_FORK is defined. ------------------------------------------------------------------------ r55084 | ngoto | 2016-05-20 22:33:10 +0900 (Fri, 20 May 2016) | 4 lines Use HAVE_BUILTIN___BUILTIN_CONSTANT_P * symbol.h (rb_id2sym): Use HAVE_BUILTIN___BUILTIN_CONSTANT_P ------------------------------------------------------------------------ r55083 | kazu | 2016-05-20 22:21:55 +0900 (Fri, 20 May 2016) | 4 lines fix typos [ci skip] * ext/date/date_core.c: [DOC] fix typos. [fix GH-1360] patched by @soundasleep ------------------------------------------------------------------------ r55082 | ngoto | 2016-05-20 21:29:06 +0900 (Fri, 20 May 2016) | 16 lines Use RB_GNUC_EXTENSION_BLOCK instead of __extension__ * include/ruby/defines.h (RB_GNUC_EXTENSION, RB_GNUC_EXTENSION_BLOCK): macros for skipping __extension__ on non-GCC compilers. * eval_error.c (warn_print): use RB_GNUC_EXTENSION_BLOCK instead of __extension__ because __extension__ is a GNU extension. Fix compile error on Solaris 10 with Oracle Solaris Studio 12.x. [Bug #12397] [ruby-dev:49629]. * internal.h (rb_fstring_cstr, rb_fstring_enc_cstr): ditto * include/ruby/encoding.h (rb_enc_str_new, rb_enc_str_new_cstr): ditto * include/ruby/intern.h (rb_str_new, rb_str_new_cstr, rb_usascii_str_new, rb_utf8_str_new, rb_tainted_str_new_cstr, rb_usascii_str_new_cstr, rb_utf8_str_new_cstr, rb_external_str_new_cstr, rb_locale_str_new_cstr, rb_str_buf_new_cstr, rb_str_cat_cstr, rb_exc_new_cstr): ditto ------------------------------------------------------------------------ r55081 | nobu | 2016-05-20 21:17:14 +0900 (Fri, 20 May 2016) | 4 lines win32ole.c: share the content * ext/win32ole/win32ole.c (fole_missing): make substring or dup to share the content if possible. ------------------------------------------------------------------------ r55080 | nobu | 2016-05-20 20:47:16 +0900 (Fri, 20 May 2016) | 4 lines win32ole.c: remove dead code * ext/win32ole/win32ole.c (fole_missing): remove dead code meaningless since r51913. RSTRING_LEN does not exceed LONG_MAX. ------------------------------------------------------------------------ r55079 | nobu | 2016-05-20 19:48:51 +0900 (Fri, 20 May 2016) | 8 lines exclude non-VALUE in memo from GC * internal.h (NEW_PARTIAL_MEMO_FOR): shrink buffer array not to mark non-VALUE fields. fix check_rvalue_consistency abort with RGENGC_CHECK_MODE=2. * internal.h (NEW_CMP_OPT_MEMO): exclude struct cmp_opt_data from the valid array range. * enum.c (slicewhen_i): exclude inverted too. ------------------------------------------------------------------------ r55078 | rhe | 2016-05-20 13:36:03 +0900 (Fri, 20 May 2016) | 20 lines openssl: don't test default session lifetime value OpenSSL's default session timeout for TLS v1.0 method is not 300 seconds but 7200. The TLS v1.0 specification[1] mentions about it as just "An upper limit of 24 hours is suggested for session ID lifetimes,". And according to OpenSSL 1.0.2h source comment[2], the value 7200 is decided just because "the 24 hours mentioned in the TLSv1 spec is way too long for http, the cache would over fill". The reason why the default lifetime is set to 300 is maybe an OpenSSL bug. We always call SSL_CTX_new() with SSLv23_method(), and this set ssl_ctx->session to 300, the default value for SSLv23_method(). But the following SSL_set_ssl_method() call does not update it. By the way this will be fixed in OpenSSL 1.1.0. [1] https://tools.ietf.org/html/rfc2246#appendix-F.1.4 [2] https://git.openssl.org/?p=openssl.git;a=blob;f=ssl/t1_lib.c;h=dd5bd0050d89f5585c1b06a227eb8221ebf984f1;hb=5dd94f1847c744929a3bd24819f1c99644bb18c7#l193 * test/openssl/test_ssl_session.rb (test_session): remove assertion of the default session timeout. ------------------------------------------------------------------------ r55077 | svn | 2016-05-20 02:21:30 +0900 (Fri, 20 May 2016) | 1 line * 2016-05-20 ------------------------------------------------------------------------ r55076 | sorah | 2016-05-20 02:21:29 +0900 (Fri, 20 May 2016) | 1 line fix a typo ------------------------------------------------------------------------ r55075 | kazu | 2016-05-19 21:23:57 +0900 (Thu, 19 May 2016) | 6 lines fix document of Regexp#match? * re.c (rb_reg_match_m_p): [DOC] fix return value in rdoc. * test/ruby/test_regexp.rb (TestRegexp#test_match_p): add some tests from document. ------------------------------------------------------------------------ r55074 | rhe | 2016-05-19 13:53:05 +0900 (Thu, 19 May 2016) | 20 lines openssl: register ex_data index for X509_STORE{_CTX,} respectively * ext/openssl/ossl.c (Init_openssl): register an ex_data index for X509_STORE and X509_STORE_CTX respectively. Since they don't share the ex_data index registry, we can't use the same index. (ossl_verify_cb): use the the correct index. * ext/openssl/ossl_ssl.c (ossl_ssl_verify_callback): ditto. * ext/openssl/ossl_x509store.c (ossl_x509store_set_vfy_cb): ditto. (ossl_x509stctx_verify): ditto. * ext/openssl/ossl.h (void ossl_clear_error): add extern declarations of ossl_store_{ctx_,}ex_verify_cb_idx. * ext/openssl/openssl_missing.c: remove X509_STORE_set_ex_data and X509_STORE_get_ex_data. * ext/openssl/openssl_missing.h: implement X509_STORE_get_ex_data, X509_STORE_set_ex_data and X509_STORE_get_ex_new_index as macros. ------------------------------------------------------------------------ r55073 | usa | 2016-05-19 13:34:30 +0900 (Thu, 19 May 2016) | 3 lines * test/ruby/test_array.rb (TestArray#test_push_over_ary_max): it seems to take long time on mswinci. ------------------------------------------------------------------------ r55072 | svn | 2016-05-19 13:12:58 +0900 (Thu, 19 May 2016) | 1 line * properties. ------------------------------------------------------------------------ r55071 | rhe | 2016-05-19 13:12:57 +0900 (Thu, 19 May 2016) | 7 lines openssl: check argument type in OpenSSL::X509::Attribute#value= * ext/openssl/ossl_x509attr.c (ossl_x509attr_set_value): check that the argument is an OpenSSL::ASN1::Data before converting to ASN1_TYPE. This fixes SEGV on OpenSSL::X509::Attribute#value=(non-asn1-value). * test/openssl/test_x509attr.rb: add tests for OpenSSL::X509::Attribute. ------------------------------------------------------------------------ r55070 | nobu | 2016-05-19 12:46:20 +0900 (Thu, 19 May 2016) | 5 lines assertions.rb: leave timeout to invoke_ruby * test/lib/test/unit/assertions.rb (assert_separately): leave timeout to invoke_ruby, which handles outputs and status of the target process since r51539. ------------------------------------------------------------------------ r55069 | nobu | 2016-05-19 12:10:12 +0900 (Thu, 19 May 2016) | 6 lines re.c: fix match? * re.c (rb_reg_match_m_p): fix match against empty string. rb_str_offset returns the end when the position exceeds the length. fix the range parameter of onig_search. [ruby-core:75604] [Bug #12394] ------------------------------------------------------------------------ r55068 | nobu | 2016-05-19 12:09:00 +0900 (Thu, 19 May 2016) | 1 line fix typo ------------------------------------------------------------------------ r55067 | nobu | 2016-05-19 11:37:38 +0900 (Thu, 19 May 2016) | 4 lines re.c: match? should return nil if no match * re.c (rb_reg_match_m_p): should return nil if no match, as the document says. [Feature #8110] ------------------------------------------------------------------------ r55066 | svn | 2016-05-19 00:17:32 +0900 (Thu, 19 May 2016) | 1 line * 2016-05-19 ------------------------------------------------------------------------ r55065 | naruse | 2016-05-19 00:17:31 +0900 (Thu, 19 May 2016) | 1 line * re.c (reg_names_iter): specify capacify ------------------------------------------------------------------------ r55064 | kazu | 2016-05-18 22:40:51 +0900 (Wed, 18 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r55063 | usa | 2016-05-18 21:31:53 +0900 (Wed, 18 May 2016) | 4 lines * thread.c (recursive_list_access): a object id may be a Bignum. so, the list must be a objhash, instead of a identhash. this fixes many test errors on mswin64 CI. ------------------------------------------------------------------------ r55062 | nobu | 2016-05-18 20:32:26 +0900 (Wed, 18 May 2016) | 4 lines re.c: fix type * re.c (rb_reg_match_m_p): fix type of variable for onig_search result. ------------------------------------------------------------------------ r55061 | naruse | 2016-05-18 19:37:13 +0900 (Wed, 18 May 2016) | 2 lines * re.c (rb_reg_match_m_p): Introduce Regexp#match?, which returns bool and doesn't save backref. ------------------------------------------------------------------------ r55060 | rhe | 2016-05-18 19:07:38 +0900 (Wed, 18 May 2016) | 4 lines openssl: fix test failure due to the previous commit * test/openssl/test_pkey_ec.rb (test_ec_point_mul): My previous commit r55059 was broken. I should have been more careful. Sorry. ------------------------------------------------------------------------ r55059 | rhe | 2016-05-18 17:52:37 +0900 (Wed, 18 May 2016) | 4 lines openssl: fix test failure of OpenSSL::TestEC#test_ec_point_mul * test/openssl/test_pkey_ec.rb (test_ec_point_mul): CentOS 7 patches OpenSSL to reject curves defined over a small field. ------------------------------------------------------------------------ r55058 | nobu | 2016-05-18 17:06:23 +0900 (Wed, 18 May 2016) | 4 lines test_random.rb: skip old OpenSSL * test/openssl/test_random.rb (OpenSSL::TestRandom): ignore out-of-date OpenSSL before 1.0, as well as other tests. ------------------------------------------------------------------------ r55057 | rhe | 2016-05-18 16:59:09 +0900 (Wed, 18 May 2016) | 5 lines openssl: fix OpenSSL error queue leak in OpenSSL::PKCS12.new * ext/openssl/ossl_pkcs12.c (ossl_pkcs12_initialize): pop errors leaked by PKCS12_parse(). This is a bug in OpenSSL, which exists in the versions before the version 1.0.0t, 1.0.1p, 1.0.2d. ------------------------------------------------------------------------ r55056 | nobu | 2016-05-18 16:24:02 +0900 (Wed, 18 May 2016) | 4 lines openssl/test_random.rb: requires utils.rb * test/openssl/test_random.rb: requires test/openssl/utils.rb for OpenSSL::TestCase now. ------------------------------------------------------------------------ r55055 | nobu | 2016-05-18 16:04:55 +0900 (Wed, 18 May 2016) | 5 lines downloader.rb: disable verify if rubygems is old * tool/downloader.rb (Downloader::RubyGems.download): verify gems only if RubyGems is 2.4 or later. old RubyGems fails to verify almost all of bundled gems. ------------------------------------------------------------------------ r55054 | nobu | 2016-05-18 14:52:40 +0900 (Wed, 18 May 2016) | 4 lines string.c: integer overflow * string.c (rb_str_modify_expand): check integer overflow. [ruby-core:75592] [Bug #12390] ------------------------------------------------------------------------ r55053 | naruse | 2016-05-18 13:56:02 +0900 (Wed, 18 May 2016) | 9 lines * re.c (match_ary_subseq): get subseq of match array without creating temporary array. * re.c (match_ary_aref): get element(s) of match array without creating temporary array. * re.c (match_aref): Use match_ary_subseq with handling irregulars. * re.c (match_values_at): Use match_ary_aref. ------------------------------------------------------------------------ r55052 | nobu | 2016-05-18 13:36:02 +0900 (Wed, 18 May 2016) | 4 lines ossl_pkey_ec.c: index types * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): fix index types. Array length is long, not int. ------------------------------------------------------------------------ r55051 | rhe | 2016-05-18 13:07:47 +0900 (Wed, 18 May 2016) | 25 lines openssl: clear OpenSSL error queue before return to Ruby * ext/openssl/ossl_x509cert.c (ossl_x509_verify): X509_verify() family may put errors on 0 return (0 means verification failure). Clear OpenSSL error queue before return to Ruby. Since the queue is thread global, remaining errors in the queue can cause an unexpected error in the next OpenSSL operation. [ruby-core:48284] [Bug #7215] * ext/openssl/ossl_x509crl.c (ossl_x509crl_verify): ditto. * ext/openssl/ossl_x509req.c (ossl_x509req_verify): ditto. * ext/openssl/ossl_x509store.c (ossl_x509stctx_verify): ditto. * ext/openssl/ossl_pkey_dh.c (dh_generate): clear the OpenSSL error queue before re-raising exception. * ext/openssl/ossl_pkey_dsa.c (dsa_generate): ditto. * ext/openssl/ossl_pkey_rsa.c (rsa_generate): ditto. * ext/openssl/ossl_ssl.c (ossl_start_ssl): ditto. * test/openssl: check that OpenSSL.errors is empty every time after running a test case. ------------------------------------------------------------------------ r55050 | rhe | 2016-05-18 13:07:45 +0900 (Wed, 18 May 2016) | 23 lines openssl: report errors in OpenSSL error queue when clear it * ext/openssl/ossl.c (ossl_clear_error): Extracted from ossl_make_error(). This prints errors in the OpenSSL error queue if OpenSSL.debug is true, and clears the queue. (ossl_make_error): use ossl_clear_error(). * ext/openssl/ossl.h: add prototype declaration of ossl_make_error(). (OSSL_BIO_reset) use ossl_clear_error() to clear the queue. Clearing silently makes debugging difficult. * ext/openssl/ossl_engine.c (ossl_engine_s_by_id): ditto. * ext/openssl/ossl_ns_spki.c (ossl_spki_initialize): ditto. * ext/openssl/ossl_pkcs7.c (ossl_pkcs7_verify): ditto. * ext/openssl/ossl_pkey_dsa.c (ossl_dsa_initialize): ditto. * ext/openssl/ossl_pkey_ec.c (ossl_ec_key_initialize): ditto. (ossl_ec_group_initialize): ditto. * ext/openssl/ossl_ssl.c (ossl_ssl_shutdown): ditto. ------------------------------------------------------------------------ r55049 | mrkn | 2016-05-18 12:21:53 +0900 (Wed, 18 May 2016) | 1 line Describe Enumerable#sum in NEWS [ci skip] ------------------------------------------------------------------------ r55048 | rhe | 2016-05-18 11:55:46 +0900 (Wed, 18 May 2016) | 8 lines ext/openssl: refactor OpenSSL::PKey::EC::Point#mul * ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): Validate the arguments before passing to EC_POINT(s)_mul(). Add description of this method. [ruby-core:65152] [Bug #10268] * test/openssl/test_pkey_ec.rb (test_ec_point_mul): Test that OpenSSL::PKey::EC::Point#mul works. ------------------------------------------------------------------------ r55047 | rhe | 2016-05-18 11:55:45 +0900 (Wed, 18 May 2016) | 13 lines openssl: fix equality test methods of OpenSSL::BN * ext/openssl/ossl_bn.c (try_convert_to_bnptr): Extracted from GetBNPtr(). This doesn't raise exception but returns NULL on error. (GetBNPtr): Raise TypeError if conversion fails. (ossl_bn_eq): Implement BN#==. (ossl_bn_eql): #eql? should not raise TypeError even if the argument is not compatible with BN. (ossl_bn_hash): Implement BN#hash. * ext/openssl/ossl_bn.c (Init_ossl_bn): Define #== and #hash. * test/openssl/test_bn.rb: Test BN#eql?, #== and #hash ------------------------------------------------------------------------ r55046 | nobu | 2016-05-18 11:05:30 +0900 (Wed, 18 May 2016) | 1 line test/win32ole/test_win32ole_variant.rb: use other than Integer ------------------------------------------------------------------------ r55045 | nobu | 2016-05-18 10:21:57 +0900 (Wed, 18 May 2016) | 4 lines extension.rdoc: RB_{INTEGER,FLOAT}_TYPE_P [ci skip] * doc/extension.rdoc, doc/extension.rdoc (Checking Data Types): [DOC] mention RB_INTEGER_TYPE_P and RB_FLOAT_TYPE_P. ------------------------------------------------------------------------ r55044 | nobu | 2016-05-18 10:17:43 +0900 (Wed, 18 May 2016) | 5 lines ruby.h: RB_INTEGER_TYPE_P * include/ruby/ruby.h (RB_INTEGER_TYPE_P): new macro and underlying inline function to check if the object is an Integer (Fixnum or Bignum). ------------------------------------------------------------------------ r55043 | nobu | 2016-05-18 10:16:50 +0900 (Wed, 18 May 2016) | 4 lines enum.c: fix declaration-after-statement * enum.c (sum_iter): workaround of mixed declarations and code. erred by -Werror=declaration-after-statement option. ------------------------------------------------------------------------ r55042 | nobu | 2016-05-18 10:05:36 +0900 (Wed, 18 May 2016) | 4 lines extension.rdoc: RB_TYPE_P [ci skip] * doc/extension.rdoc, doc/extension.rdoc (Checking Data Types): [DOC] mention RB_TYPE_P. ------------------------------------------------------------------------ r55041 | mrkn | 2016-05-18 09:54:52 +0900 (Wed, 18 May 2016) | 4 lines Optimize each_sum for hashes * enum.c (enum_sum, hash_sum, hash_sum_i, enum_sum_i, sum_iter): Optimize for hashes when each method isn't redefined. ------------------------------------------------------------------------ r55040 | mrkn | 2016-05-18 09:16:06 +0900 (Wed, 18 May 2016) | 4 lines Extract int_range_sum from enum_sum * enum.c (enum_sum, int_range_sum): Extract int_range_sum from enum_sum. ------------------------------------------------------------------------ r55039 | nobu | 2016-05-18 03:16:08 +0900 (Wed, 18 May 2016) | 4 lines re.c: fix up r55036 * re.c (match_values_at): fix regression at r55036. MatchData#values_at accepts Range. ------------------------------------------------------------------------ r55038 | nobu | 2016-05-18 02:24:34 +0900 (Wed, 18 May 2016) | 4 lines vm_core.h: bit flags * vm_core.h (rb_vm_struct, rb_thread_struct): make flags bit fields. ------------------------------------------------------------------------ r55037 | naruse | 2016-05-18 02:10:01 +0900 (Wed, 18 May 2016) | 2 lines * re.c (match_aref): remove useless condition and call rb_fix2int. rb_reg_nth_match handles negative index. ------------------------------------------------------------------------ r55036 | naruse | 2016-05-18 02:10:01 +0900 (Wed, 18 May 2016) | 4 lines * re.c (match_values_at): MatchData#values_at supports named captures [Feature #9179] * re.c (namev_to_backref_number): separeted. ------------------------------------------------------------------------ r55035 | svn | 2016-05-18 00:08:34 +0900 (Wed, 18 May 2016) | 1 line * 2016-05-18 ------------------------------------------------------------------------ r55034 | mrkn | 2016-05-18 00:08:33 +0900 (Wed, 18 May 2016) | 10 lines Optimize enum_sum for a range from int to int * enum.c (enum_sum): Optimize for a range from int to int. * test/ruby/test_enum.rb (test_range_sum): Move from test_range.rb, and add assertions for some conditions. * test/ruby/test_enum.rb (test_hash_sum): Move from test_hash.rb. * test/ruby/test_hash.rb, test/ruby/test_range.rb: Remove test_sum. ------------------------------------------------------------------------ r55033 | mrkn | 2016-05-17 23:09:37 +0900 (Tue, 17 May 2016) | 1 line Write document of Enumerable#sum ------------------------------------------------------------------------ r55032 | mrkn | 2016-05-17 22:58:46 +0900 (Tue, 17 May 2016) | 9 lines Implement Enumerable#sum * enum.c (enum_sum): Implement Enumerable#sum. * test/ruby/test_enum.rb (test_sum): Test sum for Enumerable. * test/ruby/test_hash.rb (test_sum): Test sum for Hash. * test/ruby/test_range.rb (test_sum): Test sum for Range. ------------------------------------------------------------------------ r55031 | akr | 2016-05-17 22:26:24 +0900 (Tue, 17 May 2016) | 2 lines add issue number for Array#sum incompatitbility description. ------------------------------------------------------------------------ r55030 | akr | 2016-05-17 22:24:53 +0900 (Tue, 17 May 2016) | 2 lines Describe Fixnum and Bignum integration in NEWS. ------------------------------------------------------------------------ r55029 | akr | 2016-05-17 22:15:57 +0900 (Tue, 17 May 2016) | 24 lines Use Integer instead of Fixnum and Bignum. * object.c, numeric.c, enum.c, ext/-test-/bignum/mul.c, lib/rexml/quickpath.rb, lib/rexml/text.rb, lib/rexml/xpath_parser.rb, lib/rubygems/specification.rb, lib/uri/generic.rb, bootstraptest/test_eval.rb, basictest/test.rb, test/-ext-/bignum/test_big2str.rb, test/-ext-/bignum/test_div.rb, test/-ext-/bignum/test_mul.rb, test/-ext-/bignum/test_str2big.rb, test/csv/test_data_converters.rb, test/date/test_date.rb, test/json/test_json_generate.rb, test/minitest/test_minitest_mock.rb, test/openssl/test_cipher.rb, test/rexml/test_jaxen.rb, test/ruby/test_array.rb, test/ruby/test_basicinstructions.rb, test/ruby/test_bignum.rb, test/ruby/test_case.rb, test/ruby/test_class.rb, test/ruby/test_complex.rb, test/ruby/test_enum.rb, test/ruby/test_eval.rb, test/ruby/test_iseq.rb, test/ruby/test_literal.rb, test/ruby/test_math.rb, test/ruby/test_module.rb, test/ruby/test_numeric.rb, test/ruby/test_range.rb, test/ruby/test_rational.rb, test/ruby/test_refinement.rb, test/ruby/test_rubyvm.rb, test/ruby/test_struct.rb, test/ruby/test_variable.rb, test/rubygems/test_gem_specification.rb, test/thread/test_queue.rb: Use Integer instead of Fixnum and Bignum. ------------------------------------------------------------------------ r55028 | kazu | 2016-05-17 21:57:49 +0900 (Tue, 17 May 2016) | 1 line fix alignment ------------------------------------------------------------------------ r55027 | kazu | 2016-05-17 21:57:48 +0900 (Tue, 17 May 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r55026 | svn | 2016-05-17 17:25:59 +0900 (Tue, 17 May 2016) | 1 line * properties. ------------------------------------------------------------------------ r55025 | akr | 2016-05-17 17:25:58 +0900 (Tue, 17 May 2016) | 2 lines forgot to commit. ------------------------------------------------------------------------ r55024 | akr | 2016-05-17 15:53:48 +0900 (Tue, 17 May 2016) | 39 lines [Feature #12005] Unify Fixnum and Bignum into Integer * [Feature #12005] Unify Fixnum and Bignum into Integer * include/ruby/ruby.h (rb_class_of): Return rb_cInteger for fixnums. * insns.def (INTEGER_REDEFINED_OP_FLAG): Unified from FIXNUM_REDEFINED_OP_FLAG and BIGNUM_REDEFINED_OP_FLAG. * vm_core.h: Ditto. * vm_insnhelper.c (opt_eq_func): Use INTEGER_REDEFINED_OP_FLAG instead of FIXNUM_REDEFINED_OP_FLAG. * vm.c (vm_redefinition_check_flag): Use rb_cInteger instead of rb_cFixnum and rb_cBignum. (C): Use Integer instead of Fixnum and Bignum. * numeric.c (fix_succ): Removed. (Init_Numeric): Define Fixnum as Integer. * bignum.c (bignew): Use rb_cInteger instead of Rb_cBignum. (rb_int_coerce): replaced from rb_big_coerce and return fixnums as-is. (Init_Bignum): Define Bignum as Integer. Don't define ===. * error.c (builtin_class_name): Return "Integer" for fixnums. * sprintf.c (ruby__sfvextra): Use rb_cInteger instead of rb_cFixnum. * ext/-test-/testutil: New directory to test. Currently it provides utilities for fixnum and bignum. * ext/json/generator/generator.c: Define mInteger_to_json. * lib/mathn.rb (Fixnum#/): Redefinition removed. ------------------------------------------------------------------------ r55023 | nobu | 2016-05-17 11:58:40 +0900 (Tue, 17 May 2016) | 5 lines configure.in: declare as NORETURN * configure.in (RUBY_CHECK_BUILTIN_SETJMP): declare t as NORETURN to suppress warnings by -Wsuggest-attribute=noreturn. [ruby-core:75510] [Bug #12383] ------------------------------------------------------------------------ r55022 | svn | 2016-05-17 10:40:21 +0900 (Tue, 17 May 2016) | 1 line * 2016-05-17 ------------------------------------------------------------------------ r55021 | nobu | 2016-05-17 10:40:20 +0900 (Tue, 17 May 2016) | 4 lines configure.in: RUBY_CHECK_SETJMP * configure.in (RUBY_CHECK_SETJMP): needs the header and proper arguments for builtin setjmp functions. ------------------------------------------------------------------------ r55020 | duerst | 2016-05-16 20:00:29 +0900 (Mon, 16 May 2016) | 2 lines * enc/unicode.h: Additional uses of ONIG_CASE_MAPPING compilation switch ------------------------------------------------------------------------ r55019 | svn | 2016-05-16 19:46:33 +0900 (Mon, 16 May 2016) | 1 line * append newline at EOF. ------------------------------------------------------------------------ r55018 | duerst | 2016-05-16 19:46:32 +0900 (Mon, 16 May 2016) | 5 lines * include/ruby/oniguruma.h: Introducing ONIG_CASE_MAPPING compilation switch * include/ruby/oniguruma.h, enc/unicode.h: Using ONIG_CASE_MAPPING compilation switch ------------------------------------------------------------------------ r55017 | hsbt | 2016-05-16 19:29:36 +0900 (Mon, 16 May 2016) | 2 lines * gems/bundled_gems: Update xmlrpc-0.1.1. xmlrpc-0.1.0 didn't allow to install on 2.4.0dev. ------------------------------------------------------------------------ r55016 | nobu | 2016-05-16 15:26:56 +0900 (Mon, 16 May 2016) | 5 lines * test_handle.rb: refine test_fallback_to_ansi * test/fiddle/test_handle.rb (test_fallback_to_ansi): ensure that the fallback result equals to ANSI version. [ruby-core:75494] [Bug #12377] ------------------------------------------------------------------------ r55015 | nobu | 2016-05-16 13:29:01 +0900 (Mon, 16 May 2016) | 7 lines configure.in: revert macro names * configure.in (FUNC_STDCALL, FUNC_CDECL, FUNC_FASTCALL): set macro names explicitly to the old names, which are accidentally changed at r54985, for backward compatibilities. fiddle also depends on these names to fallback to ANSI names. [ruby-core:75494] [Bug #12377] ------------------------------------------------------------------------ r55014 | hsbt | 2016-05-16 11:54:07 +0900 (Mon, 16 May 2016) | 2 lines * lib/xmlrpc: Removed empty directory. It could not be deleted by git-svn. ------------------------------------------------------------------------ r55013 | hsbt | 2016-05-16 11:41:11 +0900 (Mon, 16 May 2016) | 3 lines * lib/xmlrpc.rb, lib/xmlrpc/*, test/xmlrpc: XMLRPC is bundled gem on Ruby 2.4. [Feature #12160][ruby-core:74239] * gems/bundled_gems: ditto. ------------------------------------------------------------------------ r55012 | nobu | 2016-05-16 09:16:13 +0900 (Mon, 16 May 2016) | 4 lines extmk.rb: fix skipping messages * ext/extmk.rb (extmake): select the message if skipped because its parent extension is not configured. ------------------------------------------------------------------------ r55011 | svn | 2016-05-16 06:11:34 +0900 (Mon, 16 May 2016) | 1 line * 2016-05-16 ------------------------------------------------------------------------ r55010 | normal | 2016-05-16 06:11:33 +0900 (Mon, 16 May 2016) | 14 lines proc.c: fix RDoc of Proc#===/call/yield/[] [Bug #12332] Since r52050 ("proc.c: enable optimization of Proc#call") for [Feature #11569], we need to maintain this documentation in a way RDoc comprehends. This is probably not worth fixing in RDoc itself since this uses a non-standard internal C API which is subject to change without notice. ref: http://mid.gmane.org/20160429212836.GA16605@dcvr.yhbt.net http://mid.gmane.org/1461959651.806728.670.51764@mail.rambler.ru http://blade.nagaokaut.ac.jp/ruby/ruby-talk/435458 ------------------------------------------------------------------------ r55009 | nobu | 2016-05-15 22:54:57 +0900 (Sun, 15 May 2016) | 4 lines io.c: use PRI_OFFT_PREFIX for off_t * io.c (do_io_advise): use configured PRI_OFFT_PREFIX instead of PRI_OFF_T_PREFIX to format off_t properly on Cygwin. ------------------------------------------------------------------------ r55008 | seki | 2016-05-15 20:59:00 +0900 (Sun, 15 May 2016) | 2 lines don't use keeper thread. [Bug #12342] ------------------------------------------------------------------------ r55007 | naruse | 2016-05-15 16:17:46 +0900 (Sun, 15 May 2016) | 2 lines * array.c (rb_ary_entry): extract rb_ary_elt to organize if-conditions and check whether is is embdeded at once. ------------------------------------------------------------------------ r55006 | nobu | 2016-05-15 12:03:45 +0900 (Sun, 15 May 2016) | 4 lines random.c: suppress a warning * random.c (random_ulong_limited): suppress a shift count warning when unsigned long is 32bits. ------------------------------------------------------------------------ r55005 | nobu | 2016-05-15 10:57:28 +0900 (Sun, 15 May 2016) | 4 lines vm_insnhelper.c: deprecated constant in class * vm_insnhelper.c (vm_get_ev_const): warn deprecated constant even in the class context. [ruby-core:75505] [Bug #12382] ------------------------------------------------------------------------ r55004 | nobu | 2016-05-15 08:21:31 +0900 (Sun, 15 May 2016) | 3 lines random.c: clear seed * random.c (rand_init): clear packed seed value explicitly. ------------------------------------------------------------------------ r55003 | svn | 2016-05-15 03:43:12 +0900 (Sun, 15 May 2016) | 1 line * 2016-05-15 ------------------------------------------------------------------------ r55002 | naruse | 2016-05-15 03:43:11 +0900 (Sun, 15 May 2016) | 11 lines * iseq.h (struct iseq_compile_data): use struct rb_id_table instead of st_table. * iseq.c (prepare_iseq_build): don't allocate ivar_cache_table until it has at least one element. * iseq.c (compile_data_free): free ivar_cache_table only if it is allocated. * compile.c (get_ivar_ic_value): allocate if the table is not allocated yet. ------------------------------------------------------------------------ r55000 | nobu | 2016-05-14 10:09:00 +0900 (Sat, 14 May 2016) | 1 line ChangeLog: GitHub reference ------------------------------------------------------------------------ r54999 | nobu | 2016-05-14 09:04:36 +0900 (Sat, 14 May 2016) | 5 lines lib/mkmf.rb: use xsystem to pkg-config --exists * lib/mkmf.rb (pkg_config): use xsystem consistently to set up library path environment variable as well as latter pkg-config calls. [ruby-dev:49619] [Bug #12379] ------------------------------------------------------------------------ r54998 | nobu | 2016-05-14 01:36:41 +0900 (Sat, 14 May 2016) | 4 lines test_rand.rb: tests for seeds * test/ruby/test_rand.rb: tests for Random.raw_seed and Random.new_seed. ------------------------------------------------------------------------ r54997 | nobu | 2016-05-14 00:16:57 +0900 (Sat, 14 May 2016) | 4 lines random.c: no local copy of the seed * random.c (make_seed_value): append leading-zero-guard and get rid of making a local copy of the seed. ------------------------------------------------------------------------ r54996 | svn | 2016-05-14 00:16:56 +0900 (Sat, 14 May 2016) | 1 line * 2016-05-14 ------------------------------------------------------------------------ r54995 | nobu | 2016-05-14 00:16:56 +0900 (Sat, 14 May 2016) | 3 lines random.c: fill_random_seed size * random.c (fill_random_seed): move the seed size to an argument. ------------------------------------------------------------------------ r54994 | nobu | 2016-05-13 23:56:32 +0900 (Fri, 13 May 2016) | 3 lines random.c: clear buf * random.c (random_seed): clear temporary buffer explicitly. ------------------------------------------------------------------------ r54993 | kazu | 2016-05-13 23:01:29 +0900 (Fri, 13 May 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54992 | nobu | 2016-05-13 08:46:43 +0900 (Fri, 13 May 2016) | 7 lines drop FreeBSD < 4 support * NEWS: drop FreeBSD < 4 support. The most recent version affected by this is 3.5 and was released in 2000. https://www.freebsd.org/releases/3.5R/announce.html https://en.wikipedia.org/wiki/History_of_FreeBSD#Version_history ------------------------------------------------------------------------ r54991 | nobu | 2016-05-13 08:35:22 +0900 (Fri, 13 May 2016) | 4 lines extmk.rb: failures format * ext/extmk.rb: show extension failures in compilation-mode friendly format. ------------------------------------------------------------------------ r54990 | nobu | 2016-05-13 08:35:20 +0900 (Fri, 13 May 2016) | 4 lines defines.h: avoid redefinition * include/ruby/defines.h (GCC_VERSION_SINCE): get rid of re-definition. ------------------------------------------------------------------------ r54989 | naruse | 2016-05-13 03:27:05 +0900 (Fri, 13 May 2016) | 1 line fix typo in r54988 ------------------------------------------------------------------------ r54988 | naruse | 2016-05-13 03:12:47 +0900 (Fri, 13 May 2016) | 1 line include/ruby/defines.h (GCC_VERSION_SINCE): moved from internal.h ------------------------------------------------------------------------ r54987 | svn | 2016-05-13 03:12:46 +0900 (Fri, 13 May 2016) | 1 line * 2016-05-13 ------------------------------------------------------------------------ r54986 | naruse | 2016-05-13 03:12:46 +0900 (Fri, 13 May 2016) | 1 line Use HAVE_BUILTIN___BUILTIN_CONSTANT_P ------------------------------------------------------------------------ r54985 | naruse | 2016-05-13 03:12:45 +0900 (Fri, 13 May 2016) | 3 lines * configurein: use alternative keyword to avoid macros conflicts with them. ------------------------------------------------------------------------ r54984 | kazu | 2016-05-12 22:01:03 +0900 (Thu, 12 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54983 | nobu | 2016-05-12 20:19:43 +0900 (Thu, 12 May 2016) | 5 lines extmk.rb: failed messages at the end * ext/extmk.rb: output failed configurations at the end, not to be scrolled out. TODO: show the message at the end of the whole build. ------------------------------------------------------------------------ r54982 | nobu | 2016-05-12 01:54:10 +0900 (Thu, 12 May 2016) | 4 lines mkmf.rb: fix conflict in have_library * lib/mkmf.rb (try_func): get rid of conflict of declarations of main(). checking local symbol reference does not make sense. ------------------------------------------------------------------------ r54981 | nobu | 2016-05-12 01:39:24 +0900 (Thu, 12 May 2016) | 3 lines win32: qsort_s * win32/Makefile.sub (HAVE_QSORT_S): disable on VS2012 too. ------------------------------------------------------------------------ r54980 | usa | 2016-05-12 00:21:49 +0900 (Thu, 12 May 2016) | 4 lines * win32/Makefile.sub (HAVE_QSORT_S): use qsort_s only for Visual Studio 2012 or later, because VS2010 seems to causes a SEGV in test/ruby/test_enum.rb. ------------------------------------------------------------------------ r54979 | tarui | 2016-05-12 00:08:27 +0900 (Thu, 12 May 2016) | 1 line fix typo at ChangeLog ------------------------------------------------------------------------ r54978 | svn | 2016-05-12 00:04:28 +0900 (Thu, 12 May 2016) | 1 line * 2016-05-12 ------------------------------------------------------------------------ r54977 | tarui | 2016-05-12 00:04:27 +0900 (Thu, 12 May 2016) | 3 lines * vm_insnhelper.c (vm_getivar): describe fast-path explicit (compiler frindly). [Bug #12274]. ------------------------------------------------------------------------ r54976 | tarui | 2016-05-11 21:50:38 +0900 (Wed, 11 May 2016) | 11 lines * compile.c (iseq_compile_each): share InlineCache during same instance variable accesses. Reducing memory consumption, rasing cache hit rate and rasing branch prediction hit rate are expected. A part of [Bug #12274]. * iseq.h (struct iseq_compile_data): introduce instance variable IC table for sharing. * iseq.c (prepare_iseq_build, compile_data_free): construct/destruct above table. ------------------------------------------------------------------------ r54975 | nobu | 2016-05-11 21:24:16 +0900 (Wed, 11 May 2016) | 4 lines test_minitest_unit.rb: fix "random" sort * test/minitest/test_minitest_unit.rb (test_test_methods_random): hack to fix the order by avoiding duplicate keys. ------------------------------------------------------------------------ r54974 | nobu | 2016-05-11 17:18:56 +0900 (Wed, 11 May 2016) | 4 lines util.c: qsort_s * util.c (ruby_qsort): use qsort_s if available, for Microsoft Visual Studio 2005 (msvcr80.dll) and mingw. ------------------------------------------------------------------------ r54973 | nobu | 2016-05-11 16:13:35 +0900 (Wed, 11 May 2016) | 1 line fix file name [ci skip] ------------------------------------------------------------------------ r54972 | svn | 2016-05-11 10:33:31 +0900 (Wed, 11 May 2016) | 1 line * 2016-05-11 ------------------------------------------------------------------------ r54971 | hsbt | 2016-05-11 10:33:30 +0900 (Wed, 11 May 2016) | 2 lines * ChangeLog: Remove trailing-whitespaces. [ci skip][fix GH-1348] ------------------------------------------------------------------------ r54970 | eregon | 2016-05-10 21:46:43 +0900 (Tue, 10 May 2016) | 4 lines * insns.def (defineclass): Also raise an error when redeclaring the superclass of a class as Object and it has another superclass. [Bug #12367] [ruby-core:75446] * test/ruby/test_class.rb: test for above. ------------------------------------------------------------------------ r54969 | nobu | 2016-05-10 15:46:09 +0900 (Tue, 10 May 2016) | 4 lines random.c: reuse bits * random.c (random_ulong_limited): reduce calling bytes methods by reusing dropped bits. ------------------------------------------------------------------------ r54968 | nobu | 2016-05-10 14:57:11 +0900 (Tue, 10 May 2016) | 4 lines random.c: use bytes * random.c (obj_random_bytes): base on bytes method instead of rand method, not to call toplevel rand method. ------------------------------------------------------------------------ r54967 | naruse | 2016-05-10 13:36:33 +0900 (Tue, 10 May 2016) | 4 lines * configure.in (-fexcess-precision=standard): before r54895 -std=c99 is specified and it implied -fexcess-precision=standard. Now with -std=gnu99, it should be explicitly specified. https://gcc.gnu.org/onlinedocs/gcc/Optimize-Options.html ------------------------------------------------------------------------ r54966 | svn | 2016-05-10 01:25:54 +0900 (Tue, 10 May 2016) | 1 line * 2016-05-10 ------------------------------------------------------------------------ r54965 | nobu | 2016-05-10 01:25:53 +0900 (Tue, 10 May 2016) | 3 lines random.c: compare by rb_equal * random.c (random_equal): compare seeds by rb_equal. ------------------------------------------------------------------------ r54964 | kazu | 2016-05-09 23:30:00 +0900 (Mon, 09 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54963 | nobu | 2016-05-09 13:27:12 +0900 (Mon, 09 May 2016) | 3 lines random.c: consitify * random.c (init_by_array): consitify initializing keys. ------------------------------------------------------------------------ r54962 | nobu | 2016-05-09 12:52:09 +0900 (Mon, 09 May 2016) | 7 lines random.c: seed conversion * random.c (rand_init): random_seed() always returns an Integer, no conversion for it. * random.c (random_init, rb_f_srand): convert the given seed to an Integer. ------------------------------------------------------------------------ r54961 | nobu | 2016-05-09 10:52:01 +0900 (Mon, 09 May 2016) | 4 lines thread.c: GET_THREAD once in rb_thread_atfork * thread.c (rb_thread_atfork_internal): move th to an argument. * thread.c (rb_thread_atfork): do not repeat GET_THREAD(). ------------------------------------------------------------------------ r54960 | nobu | 2016-05-09 10:46:37 +0900 (Mon, 09 May 2016) | 9 lines thread.c: clear atfork functions * thread.c (rb_thread_atfork, rb_thread_atfork_before_exec): do nothing unless working fork is available. * thread_sync.c (rb_mutex_abandon_all): define only if working fork is available. * thread_sync.c (rb_mutex_abandon_keeping_mutexes): ditto. * thread_sync.c (rb_mutex_abandon_locking_mutex): ditto. * thread_win32.c (gvl_init): never used. ------------------------------------------------------------------------ r54959 | nobu | 2016-05-09 09:05:33 +0900 (Mon, 09 May 2016) | 4 lines openssl/extconf.rb: NO SSL macros first * ext/openssl/extconf.rb: check OPENSSL_NO_SSL{2,3} macros before checking related functions. ------------------------------------------------------------------------ r54958 | nobu | 2016-05-09 09:05:32 +0900 (Mon, 09 May 2016) | 4 lines webrick/utils.rb: suppress messages * test/webrick/utils.rb (TestWEBrick#start_server): suppress progress messages from WEBrick::Utils#create_self_signed_cert. ------------------------------------------------------------------------ r54957 | nobu | 2016-05-09 09:05:30 +0900 (Mon, 09 May 2016) | 4 lines test_ssl_server.rb: assert_self_signed_cert * test/webrick/test_ssl_server.rb (assert_self_signed_cert): extract common assertion. ------------------------------------------------------------------------ r54956 | usa | 2016-05-09 07:20:05 +0900 (Mon, 09 May 2016) | 5 lines * include/ruby/{defines,ruby}.h: need to define function attributes alternatives in defines.h instead of ruby.h, because they are used in oniguruma.h and the header used without including ruby.h at encoding library sources. ------------------------------------------------------------------------ r54955 | usa | 2016-05-09 06:31:23 +0900 (Mon, 09 May 2016) | 3 lines * include/ruby/ruby.h (CONSTFUNC, PUREFUNC): fixed build errors on non-gcc build environments introduced at r54952. ------------------------------------------------------------------------ r54954 | naruse | 2016-05-09 02:52:38 +0900 (Mon, 09 May 2016) | 8 lines * gc.c (rb_gc_unprotect_logging): throw rb_memerror when it cannot allocate memory. This is pointed out by Facebook's Infer. * gc.c (gc_prof_setup_new_record): ditto. * regparse.c (parse_regexp): ditto. * util.c (MALLOC): use xmalloc and xfree like above. ------------------------------------------------------------------------ r54953 | svn | 2016-05-09 02:44:52 +0900 (Mon, 09 May 2016) | 1 line * 2016-05-09 ------------------------------------------------------------------------ r54952 | naruse | 2016-05-09 02:44:51 +0900 (Mon, 09 May 2016) | 8 lines * configure.in: check function attirbute const and pure, and define CONSTFUNC and PUREFUNC if available. Note that I don't add those options as default because it still shows many false-positive (it seems not to consider longjmp). * vm_eval.c (stack_check): get rb_thread_t* as an argument to avoid duplicate call of GET_THREAD(). ------------------------------------------------------------------------ r54951 | kazu | 2016-05-08 23:36:18 +0900 (Sun, 08 May 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54950 | naruse | 2016-05-08 21:10:22 +0900 (Sun, 08 May 2016) | 8 lines * ext/openssl/extconf.rb: asume it doesn't have SSLv2 related functions when OPENSSL_NO_SSL2 is defined. Usually openssl's header and the library (libssl) have the same set of functions, but on some environment the library has functions whose headers doesn't declare. (openssl/opensslconf.h and libsso.so aren't be synchronized) To detect such case explicitly check feature macro and remove related functions. ------------------------------------------------------------------------ r54949 | nobu | 2016-05-08 18:59:37 +0900 (Sun, 08 May 2016) | 4 lines win32ole_error.h: add attributes * ext/win32ole/win32ole_error.h (ole_raise): add attributes, NORETURN and PRINTF_ARGS. ------------------------------------------------------------------------ r54948 | nobu | 2016-05-08 18:59:36 +0900 (Sun, 08 May 2016) | 4 lines objspace_dump.c: fix format * ext/objspace/objspace_dump.c (dump_append_string_content), (dump_object): fix the format specifiers. ------------------------------------------------------------------------ r54947 | nobu | 2016-05-08 18:51:34 +0900 (Sun, 08 May 2016) | 6 lines file.c: home dir fall back * file.c (rb_home_dir_of): return the default home path if the user name is the current user name, on platforms where struct pwd is not supported. a temporary measure against [Bug #12226]. ------------------------------------------------------------------------ r54946 | nobu | 2016-05-08 12:21:28 +0900 (Sun, 08 May 2016) | 4 lines intern.h: suppress warnings * include/ruby/intern.h (rb_disable_super, rb_enable_super): remove NORETURN. these do nothing but just return. ------------------------------------------------------------------------ r54945 | naruse | 2016-05-08 09:55:29 +0900 (Sun, 08 May 2016) | 1 line * configure.in: add -Wsuggest-attribute=format and suppress warnings. ------------------------------------------------------------------------ r54944 | svn | 2016-05-08 09:55:28 +0900 (Sun, 08 May 2016) | 1 line * 2016-05-08 ------------------------------------------------------------------------ r54943 | naruse | 2016-05-08 09:55:28 +0900 (Sun, 08 May 2016) | 1 line * configure.in: add -Wsuggest-attribute=noreturn and suppress warnings. ------------------------------------------------------------------------ r54942 | naruse | 2016-05-08 09:55:28 +0900 (Sun, 08 May 2016) | 2 lines * configure.in: add -Werror=implicit-int to avoid missing type of function declaration. ------------------------------------------------------------------------ r54941 | hsbt | 2016-05-07 22:37:18 +0900 (Sat, 07 May 2016) | 4 lines * lib/webrick/ssl.rb: Accept string value for SSLCertName. It is used to invoke ssl server with command line. [fix GH-1329] Patch by @kerlin * test/webrick/test_ssl_server.rb: Added test for GH-1329 ------------------------------------------------------------------------ r54940 | svn | 2016-05-07 21:55:18 +0900 (Sat, 07 May 2016) | 1 line * properties. ------------------------------------------------------------------------ r54939 | hsbt | 2016-05-07 21:55:17 +0900 (Sat, 07 May 2016) | 1 line * test/webrick/test_ssl_server.rb: Added basic test for `webrick/ssl` ------------------------------------------------------------------------ r54938 | nobu | 2016-05-07 16:22:14 +0900 (Sat, 07 May 2016) | 4 lines random.c: optimize int_pair_to_real_inclusive * random.c (int_pair_to_real_inclusive): optimize to multiply without Bignum. ------------------------------------------------------------------------ r54937 | nobu | 2016-05-07 15:21:00 +0900 (Sat, 07 May 2016) | 4 lines random.c: split random_int32 * random.c (random_int32): split the cases of rb_random_t and other objects. ------------------------------------------------------------------------ r54936 | nobu | 2016-05-07 11:59:32 +0900 (Sat, 07 May 2016) | 5 lines random.c: unnecessary declarations * random.c (random_ulong_limited, random_ulong_limited_big): remove unnecessary extern declarations. rb_num_negative_p is declared in internal.h now. ------------------------------------------------------------------------ r54935 | svn | 2016-05-07 07:58:04 +0900 (Sat, 07 May 2016) | 1 line * 2016-05-07 ------------------------------------------------------------------------ r54934 | nobu | 2016-05-07 07:58:03 +0900 (Sat, 07 May 2016) | 5 lines process.c: argument types over conversion * process.c (rb_exec_getargs): honor the expected argument types over the conversion method. the basic language functionality should be robust. [ruby-core:75388] [Bug #12355] ------------------------------------------------------------------------ r54933 | kazu | 2016-05-06 23:30:01 +0900 (Fri, 06 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54932 | nobu | 2016-05-06 16:18:34 +0900 (Fri, 06 May 2016) | 5 lines random.c: fill_random_bytes_syscall function * random.c (fill_random_bytes_syscall): turned into a static function, to be inlined probably, so that it is unavailable if it is a preprocessor macro. ------------------------------------------------------------------------ r54931 | nobu | 2016-05-06 16:18:33 +0900 (Fri, 06 May 2016) | 4 lines random.c: refactor * random.c (rand_random, rb_f_rand): refactor, split condition expressions, and return in the precedence. ------------------------------------------------------------------------ r54930 | nobu | 2016-05-06 15:52:37 +0900 (Fri, 06 May 2016) | 4 lines random.c: use rb_check_to_int * random.c (rand_range, rand_random): use rb_check_to_int instead of rb_check_to_integer with the same conversion method. ------------------------------------------------------------------------ r54929 | nobu | 2016-05-06 15:52:36 +0900 (Fri, 06 May 2016) | 4 lines random.c: prefer rb_check_arity * random.c: use rb_check_arity instead of rb_scan_args for simple optional arguments. ------------------------------------------------------------------------ r54928 | nobu | 2016-05-06 15:52:35 +0900 (Fri, 06 May 2016) | 4 lines random.c: sipseed_keys_t * random.c (sipseed): separate type of keys to reduce use of the magic number. ------------------------------------------------------------------------ r54927 | nobu | 2016-05-06 15:29:56 +0900 (Fri, 06 May 2016) | 6 lines random.c: default seed mark * random.c (Init_Random_default): since seed is marked by random_mark, no needs to mark itself as a global variable. allocate Random instance before making the seed value, to get rid of the potential risk of GC during the allocation. ------------------------------------------------------------------------ r54926 | nobu | 2016-05-06 15:29:55 +0900 (Fri, 06 May 2016) | 4 lines random.c: return value is not GCed * random.c (rand_init): since seed is the return value, no needs to be volatile to prevent from GC. ------------------------------------------------------------------------ r54925 | nobu | 2016-05-06 08:16:28 +0900 (Fri, 06 May 2016) | 5 lines enum.c: examples of Enumerable#detect [ci skip] * enum.c (enum_find): [DOC] add more examples to the documentation of Enumerable#detect, to show that it equals to Enumerable#find. [Fix GH-1340] ------------------------------------------------------------------------ r54921 | svn | 2016-05-06 00:00:06 +0900 (Fri, 06 May 2016) | 1 line * 2016-05-06 ------------------------------------------------------------------------ r54920 | nobu | 2016-05-06 00:00:05 +0900 (Fri, 06 May 2016) | 7 lines random.c: use uint32_t * random.c (struct MT, next_state): use uint32_t for the state vector. * random.c (init_by_array, rand_init): ditto for initializing keys. ------------------------------------------------------------------------ r54919 | yui-knk | 2016-05-05 18:06:39 +0900 (Thu, 05 May 2016) | 1 line * test/ruby/test_complexrational.rb: Remove duplicated raise. ------------------------------------------------------------------------ r54918 | nobu | 2016-05-05 16:27:10 +0900 (Thu, 05 May 2016) | 4 lines proc.c: no temporary args array * proc.c (bmcall): method proc is always lambda, args is the array which is made from argc and argv. ------------------------------------------------------------------------ r54917 | nobu | 2016-05-05 16:18:14 +0900 (Thu, 05 May 2016) | 4 lines proc.c: no unnecessary temporary array * proc.c (bmcall): get rid of making temporary single element array. ------------------------------------------------------------------------ r54916 | nobu | 2016-05-05 16:11:34 +0900 (Thu, 05 May 2016) | 4 lines proc.c: suppress a warning * proc.c (call_method_data_safe): suppress clobbered warning by old gcc. ------------------------------------------------------------------------ r54915 | yui-knk | 2016-05-05 14:39:35 +0900 (Thu, 05 May 2016) | 2 lines * string.c (rb_str_sub): Fix a special match variable name. [ci skip] ------------------------------------------------------------------------ r54914 | nobu | 2016-05-05 12:22:20 +0900 (Thu, 05 May 2016) | 5 lines use TH_JUMP_TAG * vm_eval.c (rb_eval_cmd, rb_catch_obj): use TH_JUMP_TAG with the same rb_thread_t used for TH_PUSH_TAG, instead of JUMP_TAG with the current thread global variable. ------------------------------------------------------------------------ r54913 | svn | 2016-05-05 10:49:36 +0900 (Thu, 05 May 2016) | 1 line * 2016-05-05 ------------------------------------------------------------------------ r54912 | nobu | 2016-05-05 10:49:35 +0900 (Thu, 05 May 2016) | 4 lines random.c: use arc4random_buf * random.c (fill_random_bytes_syscall): use arc4random_buf if available. ------------------------------------------------------------------------ r54911 | yui-knk | 2016-05-04 23:12:10 +0900 (Wed, 04 May 2016) | 10 lines numeric.c: Remove prototype declarations to internal.h * numeric.c (fix_plus): Remove rb_nucomp_add prototype declaration. * numeric.c (fix_mul): Remove rb_nucomp_mul prototype declaration. * internal.h (rb_nucomp_add, rb_nucomp_mul): add prototype declarations. ------------------------------------------------------------------------ r54910 | nobu | 2016-05-04 19:10:07 +0900 (Wed, 04 May 2016) | 4 lines proc.c: separate rb_method_call_with_block * proc.c (rb_method_call_with_block): separate the cases with and without tag for optimization. ------------------------------------------------------------------------ r54909 | nobu | 2016-05-04 19:10:06 +0900 (Wed, 04 May 2016) | 4 lines proc.c: passed_block * proc.c (passed_block): extract conversion from passed proc value to rb_block_t pointer. ------------------------------------------------------------------------ r54908 | nobu | 2016-05-04 19:10:05 +0900 (Wed, 04 May 2016) | 3 lines proc.c: constify * proc.c (method_callable_method_entry): constify data. ------------------------------------------------------------------------ r54907 | ktsj | 2016-05-04 18:46:48 +0900 (Wed, 04 May 2016) | 3 lines * lib/net/http/header.rb: [DOC] add documentation that Net::HTTPHeader#{each_header,each_name,each_capitalized_name, each_value,each_capitalized} without block returns an enumerator. ------------------------------------------------------------------------ r54906 | ktsj | 2016-05-04 18:46:46 +0900 (Wed, 04 May 2016) | 5 lines * lib/net/http/header.rb (Net::HTTPHeader#{each_header,each_name, each_capitalized_name,each_value,each_capitalized}): Return sized enumerators. * test/net/http/test_httpheader.rb: add test for above. ------------------------------------------------------------------------ r54905 | ktsj | 2016-05-04 18:46:43 +0900 (Wed, 04 May 2016) | 2 lines * test/net/http/test_httpheader.rb: add missing test of Net::HTTPHeader#each_capitalized_name. ------------------------------------------------------------------------ r54904 | ktsj | 2016-05-04 18:07:01 +0900 (Wed, 04 May 2016) | 2 lines * lib/set.rb: [DOC] add documentation that Set#{delete_if,keep_if,collect!,reject!,select!, classify,divide} without block returns an enumerator. ------------------------------------------------------------------------ r54903 | ktsj | 2016-05-04 18:06:59 +0900 (Wed, 04 May 2016) | 4 lines * lib/set.rb (Set#{delete_if,keep_if,collect!,reject!,select!,classify,divide}, SortedSet#{delete_if,keep_if}): Return sized enumerators. * test/test_set.rb: add test for above. ------------------------------------------------------------------------ r54902 | svn | 2016-05-04 18:06:59 +0900 (Wed, 04 May 2016) | 1 line * 2016-05-04 ------------------------------------------------------------------------ r54901 | ktsj | 2016-05-04 18:06:58 +0900 (Wed, 04 May 2016) | 1 line * test/test_set.rb: add missing test of Set#select!. ------------------------------------------------------------------------ r54898 | kazu | 2016-05-03 23:31:40 +0900 (Tue, 03 May 2016) | 4 lines Update result of 123456789 ** -2 * numeric.c: [DOC] Update result of 123456789 ** -2. [ruby-dev:49606] [Bug #12339] ------------------------------------------------------------------------ r54897 | yui-knk | 2016-05-03 23:12:02 +0900 (Tue, 03 May 2016) | 2 lines * internal.h (RCOMPLEX_SET_IMAG): undef RCOMPLEX_SET_IMAG instead of duplicated undef RCOMPLEX_SET_REAL. ------------------------------------------------------------------------ r54896 | yui-knk | 2016-05-03 22:54:19 +0900 (Tue, 03 May 2016) | 2 lines * complex.c (rb_complex_set_imag): Fix to properly set imag of complex. ------------------------------------------------------------------------ r54895 | naruse | 2016-05-03 22:20:50 +0900 (Tue, 03 May 2016) | 2 lines * configure.in (warnflags): use -std=gnu99 instead of -std=iso9899:1999. [Feature #12336] ------------------------------------------------------------------------ r54894 | naruse | 2016-05-03 22:14:30 +0900 (Tue, 03 May 2016) | 5 lines * string.c (count_utf8_lead_bytes_with_word): Use __builtin_popcount only if it can use SSE 4.2 POPCNT whose latency is 3 cycle. * internal.h (rb_popcount64): use __builtin_popcountll because now it is in fast path. ------------------------------------------------------------------------ r54893 | nobu | 2016-05-03 14:19:20 +0900 (Tue, 03 May 2016) | 4 lines parse.y: trace elsif * parse.y (new_if_gen): set newline flag to NODE_IF to trace all if/elsif statements. [ruby-core:67720] [Bug #10763] ------------------------------------------------------------------------ r54892 | nobu | 2016-05-03 10:22:18 +0900 (Tue, 03 May 2016) | 3 lines eval.c: constify * eval.c (extract_raise_opts): constify argv. ------------------------------------------------------------------------ r54891 | svn | 2016-05-03 06:04:18 +0900 (Tue, 03 May 2016) | 1 line * 2016-05-03 ------------------------------------------------------------------------ r54890 | normal | 2016-05-03 06:04:17 +0900 (Tue, 03 May 2016) | 15 lines process.c (disable_child_handler_fork_child): initialize handler for SIGPIPE This only happens on the !POSIX_SIGNAL case; but one may test with the following: --- a/process.c +++ b/process.c @@ -3479,6 +3479,7 @@ disable_child_handler_fork_parent(struct child_handler_disabler_state *old) #endif } +#undef POSIX_SIGNAL /* This function should be async-signal-safe. Actually it is. */ static int disable_child_handler_fork_child(struct child_handler_disabler_state *old, char *errmsg, size_t errmsg_buflen) ------------------------------------------------------------------------ r54889 | usa | 2016-05-02 23:05:19 +0900 (Mon, 02 May 2016) | 6 lines * win32/win32.c, include/ruby/win32.h (rb_w32_utruncate): implements new truncate alternative which accepts UTF-8 path. * file.c (truncate): use above function. [Bug #12340] ------------------------------------------------------------------------ r54888 | svn | 2016-05-02 23:03:22 +0900 (Mon, 02 May 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54887 | usa | 2016-05-02 23:03:21 +0900 (Mon, 02 May 2016) | 2 lines * test/ruby/test_file_exhaustive.rb: test UTF-8 filename. see [Bug #12340] ------------------------------------------------------------------------ r54886 | naruse | 2016-05-02 21:04:04 +0900 (Mon, 02 May 2016) | 8 lines * re.c (str_coderange): to avoid function call when the string already has coderange information. * re.c (rb_reg_prepare_enc): add shortcut path when the regexp has the same encoding of given string. * re.c (rb_reg_prepare_re): avoid duplicated allocation of onig_errmsg_buffer. ------------------------------------------------------------------------ r54885 | kazu | 2016-05-02 20:46:02 +0900 (Mon, 02 May 2016) | 1 line Update rdoc of Integer#modulo [ci skip] ------------------------------------------------------------------------ r54884 | kazu | 2016-05-02 20:46:01 +0900 (Mon, 02 May 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54883 | kazu | 2016-05-02 20:46:00 +0900 (Mon, 02 May 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54882 | nobu | 2016-05-02 12:58:28 +0900 (Mon, 02 May 2016) | 4 lines string.c: shortcut * string.c (rb_str_concat): shortcut concatenation to ASCII-8BIT as well as US-ASCII. ------------------------------------------------------------------------ r54881 | nobu | 2016-05-02 12:53:34 +0900 (Mon, 02 May 2016) | 4 lines string.c: fix doc * string.c (rb_str_concat): [DOC] fix the indefinite article, for replacement from Fixnum to Integer. ------------------------------------------------------------------------ r54880 | akr | 2016-05-02 12:35:52 +0900 (Mon, 02 May 2016) | 2 lines * test/ruby/test_refinement.rb (test_inspect): Use Integer instead of Fixnum. ------------------------------------------------------------------------ r54879 | nobu | 2016-05-02 09:06:04 +0900 (Mon, 02 May 2016) | 4 lines string.c: fix braces * string.c (search_nonascii): fix braces unmatched by a preprocessing condition. ------------------------------------------------------------------------ r54878 | akr | 2016-05-02 06:59:41 +0900 (Mon, 02 May 2016) | 7 lines complex.c don't refer rb_cFixnum and rb_cBignum. * complex.c: Don't refer rb_cFixnum and rb_cBignum. (k_fixnum_p): Use FIXNUM_P. (k_bignum_p): Use RB_TYPE_P. ------------------------------------------------------------------------ r54877 | naruse | 2016-05-02 03:27:41 +0900 (Mon, 02 May 2016) | 1 line fix mixed declaration on non UNALIGNED_WORD_ACCESS ------------------------------------------------------------------------ r54876 | akr | 2016-05-02 01:28:18 +0900 (Mon, 02 May 2016) | 3 lines * test/ruby/test_numeric.rb (test_step): Use Integer::FIXNUM_MAX. ------------------------------------------------------------------------ r54875 | akr | 2016-05-02 01:15:29 +0900 (Mon, 02 May 2016) | 5 lines test_name use Integer instead of Fixnum. * test/ruby/test_module.rb (test_name): Use Integer instead of Fixnum. ------------------------------------------------------------------------ r54874 | akr | 2016-05-02 01:01:36 +0900 (Mon, 02 May 2016) | 12 lines test/lib/test/unit/assertions.rb defines assert_fixnum and assert_bignum. * test/lib/test/unit/assertions.rb (assert_fixnum): Defined. (assert_bignum): Defined. * test/ruby/test_bignum.rb: Use assert_bignum. * test/ruby/test_integer_comb.rb: Use assert_fixnum and assert_bignum. * test/ruby/test_optimization.rb: Ditto. ------------------------------------------------------------------------ r54873 | akr | 2016-05-02 00:42:52 +0900 (Mon, 02 May 2016) | 6 lines Add a cast to avoid signed integer overflow. * vm_trace.c (recalc_remove_ruby_vm_event_flags): Add a cast to avoid signed integer overflow. ------------------------------------------------------------------------ r54872 | akr | 2016-05-02 00:16:17 +0900 (Mon, 02 May 2016) | 15 lines envutil.rb defines Integer::{FIXNUM_MIN,FIXNUM_MAX}. * test/lib/envutil.rb: Define Integer::{FIXNUM_MIN,FIXNUM_MAX}. * test/ruby/test_bignum.rb: Use Integer::{FIXNUM_MIN,FIXNUM_MAX}. * test/ruby/test_bignum.rb: Ditto. * test/ruby/test_integer_comb.rb: Ditto. * test/ruby/test_marshal.rb: Ditto. * test/ruby/test_optimization.rb: Ditto. ------------------------------------------------------------------------ r54871 | svn | 2016-05-02 00:02:48 +0900 (Mon, 02 May 2016) | 1 line * 2016-05-02 ------------------------------------------------------------------------ r54870 | mrkn | 2016-05-02 00:02:47 +0900 (Mon, 02 May 2016) | 5 lines Fix rb_ary_sum for mathn * array.c (rb_ary_sum): fix for mathn * test/ruby/test_array.rb (test_sum): ditto. ------------------------------------------------------------------------ r54869 | usa | 2016-05-01 23:56:45 +0900 (Sun, 01 May 2016) | 4 lines * test/logger/test_logdevice.rb (TestLogDevice#test_shifting_period_suffix): too many shifting. the last shifting created logs named as `*.3`, and they were never unlinked. ------------------------------------------------------------------------ r54868 | usa | 2016-05-01 23:54:44 +0900 (Sun, 01 May 2016) | 4 lines * test/lib/test/unit.rb (Options#non_options): fixed wrong regexp. if both positives and negatives were specified, postives had to be spcicifed from the beginning. ------------------------------------------------------------------------ r54867 | naruse | 2016-05-01 23:19:02 +0900 (Sun, 01 May 2016) | 1 line fix for where UNALIGNED_WORD_ACCESS is not allowed ------------------------------------------------------------------------ r54866 | akr | 2016-05-01 21:50:19 +0900 (Sun, 01 May 2016) | 2 lines update comments. ------------------------------------------------------------------------ r54865 | akr | 2016-05-01 21:30:51 +0900 (Sun, 01 May 2016) | 2 lines Fix a test message. ------------------------------------------------------------------------ r54864 | usa | 2016-05-01 21:00:35 +0900 (Sun, 01 May 2016) | 2 lines * win32/win32.c: drop Win2K support. ------------------------------------------------------------------------ r54863 | usa | 2016-05-01 20:42:41 +0900 (Sun, 01 May 2016) | 4 lines * cont.c, hash.c, random.c, win32/win32.c: cleanup some Win9x/ME/NT4 support leftovers. [fix GH-1328] patched by @cremno ------------------------------------------------------------------------ r54862 | naruse | 2016-05-01 18:07:14 +0900 (Sun, 01 May 2016) | 1 line Use WORDS_BIGENDIAN ------------------------------------------------------------------------ r54861 | akr | 2016-05-01 10:35:43 +0900 (Sun, 01 May 2016) | 2 lines [DOC] merge documents for {Integer,Fixnum}#succ. ------------------------------------------------------------------------ r54860 | nobu | 2016-05-01 09:56:15 +0900 (Sun, 01 May 2016) | 5 lines ChangeLog: fix a typo [ci skip] * ChangeLog: fix typo, process ID is unrelated to login shell name, should be user ID. http://twitter.com/nagachika/status/726553209821523968 ------------------------------------------------------------------------ r54859 | naruse | 2016-05-01 07:32:05 +0900 (Sun, 01 May 2016) | 3 lines * string.c (search_nonascii): use nlz on big endian environments. * internal.h (nlz_intpr): defined. ------------------------------------------------------------------------ r54858 | akr | 2016-05-01 07:05:43 +0900 (Sun, 01 May 2016) | 2 lines fix a typo. ------------------------------------------------------------------------ r54857 | naruse | 2016-05-01 01:32:36 +0900 (Sun, 01 May 2016) | 1 line More optimization for r54854's search_nonascii ------------------------------------------------------------------------ r54856 | svn | 2016-05-01 00:39:03 +0900 (Sun, 01 May 2016) | 1 line * 2016-05-01 ------------------------------------------------------------------------ r54855 | naruse | 2016-05-01 00:39:03 +0900 (Sun, 01 May 2016) | 5 lines revert UNALIGNED_WORD_ACCESS for GCC6 Released GCC 6.0 fixed the issue. https://gcc.gnu.org/bugzilla/show_bug.cgi?id=69291 [ruby-core:72211] [Bug #11831] [Bug #11979] ------------------------------------------------------------------------ r54854 | naruse | 2016-05-01 00:39:02 +0900 (Sun, 01 May 2016) | 19 lines * string.c (search_nonascii): unroll and use ntz * configure.in (__builtin_ctz): check. * configure.in (__builtin_ctzll): check. * internal.h (rb_popcount32): defined for ntz_int32. it can use __builtin_popcount but this function is not used on GCC environment because it uses __builtin_ctz. When another function uses this, using __builtin_popcount should be re-considered. * internal.h (rb_popcount64): ditto. * internal.h (ntz_int32): defined for ntz_intptr. * internal.h (ntz_int64): defined for ntz_intptr. * internal.h (ntz_intptr): defined as ntz for uintptr_t. ------------------------------------------------------------------------ r54853 | akr | 2016-04-30 22:05:22 +0900 (Sat, 30 Apr 2016) | 2 lines [DOC] ------------------------------------------------------------------------ r54852 | akr | 2016-04-30 21:55:59 +0900 (Sat, 30 Apr 2016) | 5 lines Gather Fixnum method definitions. * numeric.c (Init_Numeric): Gather Fixnum method definitions. ------------------------------------------------------------------------ r54851 | akr | 2016-04-30 21:39:53 +0900 (Sat, 30 Apr 2016) | 9 lines Define Integer#/ instead of Bignum#/. * numeric.c (rb_int_div): Define Integer#/. * bignum.c (rb_big_div): Don't define Bignum#/. * lib/mathn.rb (Integer#/): Replace Integer#/ instead of Bignum#/. ------------------------------------------------------------------------ r54850 | akr | 2016-04-30 21:24:06 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#+ instead of Bignum#+. * numeric.c (rb_int_plus): Define Integer#+. * bignum.c (rb_big_plus): Don't define Bignum#+. ------------------------------------------------------------------------ r54849 | akr | 2016-04-30 21:09:31 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#- instead of Bignum#-. * numeric.c (rb_int_minus): Define Integer#-. * bignum.c (rb_big_minus): Don't define Bignum#-. ------------------------------------------------------------------------ r54848 | akr | 2016-04-30 20:54:26 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#* instead of Bignum#*. * numeric.c (rb_int_mul): Define Integer#*. * bignum.c (rb_big_mul): Don't define Bignum#*. ------------------------------------------------------------------------ r54847 | akr | 2016-04-30 20:31:28 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#% instead of Bignum#%. * numeric.c (rb_int_modulo): Define Integer#%. * bignum.c (rb_big_modulo): Don't define Bignum#%. ------------------------------------------------------------------------ r54846 | akr | 2016-04-30 20:18:00 +0900 (Sat, 30 Apr 2016) | 7 lines Define Integer#== instead of Bignum#==. * numeric.c (int_equal): Define Integer#==. * bignum.c (rb_big_eq): Don't define Bignum#==. ------------------------------------------------------------------------ r54845 | akr | 2016-04-30 19:42:06 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#> instead of Bignum#>. * numeric.c (int_gt): Define Integer#>. * bignum.c (rb_big_gt): Don't define Bignum#>. Renamed from big_gt. * internal.h (rb_big_gt): Declared. ------------------------------------------------------------------------ r54844 | akr | 2016-04-30 19:26:17 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#>= instead of Bignum#>=. * numeric.c (int_ge): Define Integer#>=. * bignum.c (rb_big_ge): Don't define Bignum#>=. Renamed from big_ge. * internal.h (rb_big_ge): Declared. ------------------------------------------------------------------------ r54843 | hsbt | 2016-04-30 19:20:43 +0900 (Sat, 30 Apr 2016) | 1 line * doc/standard_library.rdoc: Remove obsoleted classes and modules. ------------------------------------------------------------------------ r54842 | akr | 2016-04-30 19:10:23 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#< instead of Bignum#<. * numeric.c (int_lt): Define Integer#<. * bignum.c (rb_big_lt): Don't define Bignum#<. Renamed from big_lt. * internal.h (rb_big_lt): Declared. ------------------------------------------------------------------------ r54841 | akr | 2016-04-30 18:48:25 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#<= instead of Bignum#<=. * numeric.c (int_le): Define Integer#<=. * bignum.c (rb_big_le): Don't define Bignum#<=. Renamed from big_le. * internal.h (rb_big_le): Declared. ------------------------------------------------------------------------ r54840 | akr | 2016-04-30 18:12:11 +0900 (Sat, 30 Apr 2016) | 4 lines Define Integer#GMP_VERSION. * bignum.c (Init_Bignum): Define Integer#GMP_VERSION. ------------------------------------------------------------------------ r54839 | akr | 2016-04-30 17:52:49 +0900 (Sat, 30 Apr 2016) | 2 lines Define Integer#-@ instead of Fixnum#-@. ------------------------------------------------------------------------ r54838 | akr | 2016-04-30 17:27:30 +0900 (Sat, 30 Apr 2016) | 10 lines Define Integer#remainder instead of Bignum#remainder. * numeric.c (int_remainder): Define Integer#remainder. * bignum.c (rb_big_remainder): Don't define Bignum#remainder. * internal.h (rb_big_remainder): Declared. ------------------------------------------------------------------------ r54837 | akr | 2016-04-30 15:30:08 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#-@ is unified into Integer. * numeric.c (rb_int_uminus): {Fixnum,Bignum}#-@ is unified into Integer. * bignum.c (rb_big_uminus): Don't define Bignum#-@. ------------------------------------------------------------------------ r54836 | akr | 2016-04-30 14:43:15 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#div is unified into Integer. * numeric.c (rb_int_idiv): {Fixnum,Bignum}#div is unified into Integer. * bignum.c (rb_big_idiv): Don't define Bignum#div. ------------------------------------------------------------------------ r54835 | akr | 2016-04-30 14:26:52 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#modulo is unified into Integer. * numeric.c (rb_int_modulo): {Fixnum,Bignum}#modulo is unified into Integer. * bignum.c (rb_big_modulo): Don't define Bignum#modulo. ------------------------------------------------------------------------ r54834 | akr | 2016-04-30 14:05:54 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#divmod is unified into Integer. * numeric.c (int_divmod): {Fixnum,Bignum}#divmod is unified into Integer. * bignum.c (rb_big_divmod): Don't define Bignum#divmod. ------------------------------------------------------------------------ r54833 | akr | 2016-04-30 13:22:27 +0900 (Sat, 30 Apr 2016) | 2 lines move Fixnum#/ document position. ------------------------------------------------------------------------ r54832 | akr | 2016-04-30 13:20:56 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#fdiv is unified into Integer. * numeric.c (int_fdiv): {Fixnum,Bignum}#fdiv is unified into Integer. * bignum.c (rb_big_fdiv): Don't define Bignum#fdiv. ------------------------------------------------------------------------ r54831 | akr | 2016-04-30 12:59:02 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#** is unified into Integer. * numeric.c (rb_int_pow): {Fixnum,Bignum}#** is unified into Integer. * bignum.c (rb_big_pow): Don't define Bignum#**. ------------------------------------------------------------------------ r54830 | akr | 2016-04-30 12:30:53 +0900 (Sat, 30 Apr 2016) | 7 lines Rename fix_rev and rb_big_neg to fix_comp and rb_big_comp. * bignum.c (rb_big_comp): Renamed from rb_big_neg. * numeric.c (fix_comp): Renamed from fix_rev. ------------------------------------------------------------------------ r54829 | akr | 2016-04-30 12:27:20 +0900 (Sat, 30 Apr 2016) | 10 lines {Fixnum,Bignum}#~ is unified into Integer. * numeric.c (int_comp): {Fixnum,Bignum}#~ is unified into Integer. * bignum.c (rb_big_neg): Don't define Bignum#~. * internal.h (rb_big_neg): Declared. ------------------------------------------------------------------------ r54828 | akr | 2016-04-30 12:08:53 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#& is unified into Integer. * numeric.c (int_and): {Fixnum,Bignum}#& is unified into Integer. * bignum.c (rb_big_and): Don't define Bignum#|. ------------------------------------------------------------------------ r54827 | nobu | 2016-04-30 11:56:17 +0900 (Sat, 30 Apr 2016) | 4 lines ext/thread: remove * ext/thread: removed dummy extension library. thread_sync.c provides "thread.rb" already. ------------------------------------------------------------------------ r54826 | nobu | 2016-04-30 11:55:18 +0900 (Sat, 30 Apr 2016) | 5 lines thread_sync.c: define global constants always * thread_sync.c (ALIAS_GLOBAL_CONST): define global constant aliases unconditionally. same constants are not defined at this time. ------------------------------------------------------------------------ r54825 | akr | 2016-04-30 11:54:14 +0900 (Sat, 30 Apr 2016) | 8 lines {Fixnum,Bignum}#| is unified into Integer. * numeric.c (int_or): {Fixnum,Bignum}#| is unified into Integer. * bignum.c (rb_big_or): Don't define Bignum#|. ------------------------------------------------------------------------ r54824 | yui-knk | 2016-04-30 11:18:00 +0900 (Sat, 30 Apr 2016) | 1 line * vm_trace.c: Fix typos. [ci skip] ------------------------------------------------------------------------ r54823 | nobu | 2016-04-30 10:12:52 +0900 (Sat, 30 Apr 2016) | 4 lines pty.c: dry up * ext/pty/pty.c (establishShell): gather initializations by the default shell path. ------------------------------------------------------------------------ r54822 | nobu | 2016-04-30 10:09:07 +0900 (Sat, 30 Apr 2016) | 5 lines pty.c: user shell * ext/pty/pty.c (establishShell): honor USER environment variable and login name over uid, one pid can be shared by some login names. ------------------------------------------------------------------------ r54821 | svn | 2016-04-30 10:09:06 +0900 (Sat, 30 Apr 2016) | 1 line * 2016-04-30 ------------------------------------------------------------------------ r54820 | nobu | 2016-04-30 10:09:06 +0900 (Sat, 30 Apr 2016) | 5 lines pty.c: portabilities * ext/pty/pty.c (no_mesg): define only if used. * ext/pty/pty.c (pty_check): some flags may not be defined. ------------------------------------------------------------------------ r54819 | nobu | 2016-04-29 22:40:29 +0900 (Fri, 29 Apr 2016) | 4 lines maintainers.rdoc: update ext/io/nonblock [ci skip] * doc/maintainers.rdoc (ext/io/nonblock): still maintained, as well as ext/io/wait, which is the origin. ------------------------------------------------------------------------ r54818 | usa | 2016-04-29 21:18:51 +0900 (Fri, 29 Apr 2016) | 2 lines * doc/maintainers.rdoc (ext/win32): of course, it's still maintained. [skip ci] ------------------------------------------------------------------------ r54817 | hsbt | 2016-04-29 21:03:13 +0900 (Fri, 29 Apr 2016) | 1 line * gems/bundled_gems: Update latest gems, test-unit-3.1.8 and rake-11.1.2. ------------------------------------------------------------------------ r54816 | hsbt | 2016-04-29 20:43:13 +0900 (Fri, 29 Apr 2016) | 1 line * doc/maintainers.rdoc: Update latest maintainers list on Ruby 2.4 ------------------------------------------------------------------------ r54814 | hsbt | 2016-04-29 19:52:51 +0900 (Fri, 29 Apr 2016) | 1 line * doc/maintainers.rdoc: Removed deprecated entries. These are already deleted. ------------------------------------------------------------------------ r54813 | hsbt | 2016-04-29 19:52:49 +0900 (Fri, 29 Apr 2016) | 2 lines * doc/maintainers.rdoc: Removed Ruby 1.8 entries. It's not necessary to Ruby 2.4 or later. ------------------------------------------------------------------------ r54812 | svn | 2016-04-29 09:56:45 +0900 (Fri, 29 Apr 2016) | 1 line * 2016-04-29 ------------------------------------------------------------------------ r54811 | nobu | 2016-04-29 09:56:44 +0900 (Fri, 29 Apr 2016) | 1 line win32/win32.c: remove unnecessary declaration ------------------------------------------------------------------------ r54810 | nobu | 2016-04-28 17:03:19 +0900 (Thu, 28 Apr 2016) | 4 lines hash.c: dry up code * hash.c (rb_hash_update_{block,func}_callback): dry up hash update callback code. [Fix GH-1338] ------------------------------------------------------------------------ r54809 | naruse | 2016-04-28 16:52:59 +0900 (Thu, 28 Apr 2016) | 2 lines * re.c (rb_reg_prepare_enc): use rb_enc_asciicompat(enc) instead of rb_enc_str_asciicompat_p(str) to avoid useless rb_enc_get(str) call. ------------------------------------------------------------------------ r54808 | nobu | 2016-04-28 16:33:43 +0900 (Thu, 28 Apr 2016) | 4 lines optparse.rb: [DOC] fix example code [ci skip] * lib/optparse.rb: [DOC] fix example code. base on the code by Semyon Gaivoronskiy in [ruby-core:75224]. [Bug #12323] ------------------------------------------------------------------------ r54807 | nobu | 2016-04-28 15:54:05 +0900 (Thu, 28 Apr 2016) | 4 lines win32/file.c: fix reallocation threshold * win32/file.c (replace_to_long_name): fix reallocation threshold. dereferenced size of a pointer is not same as the buffer size. ------------------------------------------------------------------------ r54806 | nobu | 2016-04-28 15:54:03 +0900 (Thu, 28 Apr 2016) | 4 lines win32/file.c: remove unnecessary code * win32/file.c (replace_to_long_name): remove unnecessary backward scan for the last directory separator. ------------------------------------------------------------------------ r54805 | svn | 2016-04-28 09:33:09 +0900 (Thu, 28 Apr 2016) | 1 line * properties. ------------------------------------------------------------------------ r54804 | hsbt | 2016-04-28 09:33:08 +0900 (Thu, 28 Apr 2016) | 3 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.4. Please see entries of 2.6.4 on https://github.com/rubygems/rubygems/blob/master/History.txt ------------------------------------------------------------------------ r54803 | odaira | 2016-04-28 05:00:57 +0900 (Thu, 28 Apr 2016) | 5 lines * configure.in (rb_cv_lgamma_r_pm0): check if lgamma_r(+0.0) returns positive infinity, in addition to lgamma_r(-0.0). AIX returns an incorrect result of negative infinity. * math.c (ruby_lgamma_r): handle +0.0, in addition to -0.0. ------------------------------------------------------------------------ r54802 | naruse | 2016-04-28 01:15:21 +0900 (Thu, 28 Apr 2016) | 3 lines * time.c: define _DEFAULT_SOURCE because glibc 2.20 depracates _BSD_SOURCE. https://sourceware.org/glibc/wiki/Release/2.20 ------------------------------------------------------------------------ r54801 | svn | 2016-04-28 00:35:24 +0900 (Thu, 28 Apr 2016) | 1 line * 2016-04-28 ------------------------------------------------------------------------ r54800 | akr | 2016-04-28 00:35:23 +0900 (Thu, 28 Apr 2016) | 8 lines {Fixnum,Bignum}#^ is unified into Integer. * numeric.c (int_xor): {Fixnum,Bignum}#^ is unified into Integer. * bignum.c (rb_big_xor): Don't define Bignum#^. ------------------------------------------------------------------------ r54798 | akr | 2016-04-27 22:05:09 +0900 (Wed, 27 Apr 2016) | 2 lines [Doc] Add Document-method: directives. ------------------------------------------------------------------------ r54797 | kazu | 2016-04-27 21:59:59 +0900 (Wed, 27 Apr 2016) | 1 line Update rdoc of Integer#[] (fix -> int) ------------------------------------------------------------------------ r54796 | akr | 2016-04-27 21:46:46 +0900 (Wed, 27 Apr 2016) | 2 lines [DOC] move rdoc comments. ------------------------------------------------------------------------ r54795 | akr | 2016-04-27 20:56:03 +0900 (Wed, 27 Apr 2016) | 10 lines {Fixnum,Bignum}#[] is unified into Integer. * numeric.c (int_aref): {Fixnum,Bignum}#[] is unified into Integer. * bignum.c (rb_big_aref): Don't define Bignum#<<. * internal.h (rb_big_aref): Declared. ------------------------------------------------------------------------ r54794 | naruse | 2016-04-27 16:11:07 +0900 (Wed, 27 Apr 2016) | 1 line * tool/instruction.rb: fix to follow current implementation. ------------------------------------------------------------------------ r54793 | naruse | 2016-04-27 16:11:06 +0900 (Wed, 27 Apr 2016) | 1 line setdynamic is obsoleted ------------------------------------------------------------------------ r54792 | nobu | 2016-04-27 15:47:56 +0900 (Wed, 27 Apr 2016) | 4 lines stringio.c: warn block for new * ext/stringio/stringio.c (strio_s_new): warn if a block is given, as well as IO.new. ------------------------------------------------------------------------ r54791 | nobu | 2016-04-27 14:29:49 +0900 (Wed, 27 Apr 2016) | 5 lines internal.h: ONLY_FOR_INTERNAL_USE * error.c (ruby_only_for_internal_use): raise fatal error when deprecated function only for internal use is called, not just a warning. ------------------------------------------------------------------------ r54790 | nobu | 2016-04-27 14:29:07 +0900 (Wed, 27 Apr 2016) | 1 line internal.h: adjust style ------------------------------------------------------------------------ r54789 | svn | 2016-04-27 00:14:19 +0900 (Wed, 27 Apr 2016) | 1 line * 2016-04-27 ------------------------------------------------------------------------ r54788 | kazu | 2016-04-27 00:14:18 +0900 (Wed, 27 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54787 | usa | 2016-04-26 23:43:50 +0900 (Tue, 26 Apr 2016) | 3 lines * tool/redmine-backporter.rb (rel): should not raise exceptions even if the user input is wrong. only reports the error and continue process. ------------------------------------------------------------------------ r54785 | nobu | 2016-04-26 23:35:24 +0900 (Tue, 26 Apr 2016) | 5 lines Fix -e script encoding * ruby.c (process_options): convert -e script to the encoding given by a command line option on Windows. assume it is the expected encoding. [ruby-dev:49461] [Bug #11900] ------------------------------------------------------------------------ r54783 | akr | 2016-04-26 21:29:41 +0900 (Tue, 26 Apr 2016) | 2 lines [DOC] update Integer#<< doc. ------------------------------------------------------------------------ r54782 | akr | 2016-04-26 21:23:05 +0900 (Tue, 26 Apr 2016) | 10 lines {Fixnum,Bignum}#<< is unified into Integer. * numeric.c (rb_int_lshift): {Fixnum,Bignum}#<< is unified into Integer. * bignum.c (rb_big_lshift): Don't define Bignum#<<. * internal.h (rb_big_lshift): Declared. ------------------------------------------------------------------------ r54781 | akr | 2016-04-26 21:09:40 +0900 (Tue, 26 Apr 2016) | 10 lines {Fixnum,Bignum}#>> is unified into Integer. * numeric.c (rb_int_rshift): {Fixnum,Bignum}#>> is unified into Integer. * bignum.c (rb_big_rshift): Don't define Bignum#>>. * internal.h (rb_big_rshift): Declared. ------------------------------------------------------------------------ r54780 | akr | 2016-04-26 20:47:14 +0900 (Tue, 26 Apr 2016) | 9 lines {Fixnum,Bignum}#size is unified into Integer. * numeric.c (int_size): {Fixnum,Bignum}#size is unified into Integer. * bignum.c (rb_big_size_m): Don't define Bignum#size. * internal.h (rb_big_size_m): Declared. ------------------------------------------------------------------------ r54779 | akr | 2016-04-26 20:30:04 +0900 (Tue, 26 Apr 2016) | 2 lines forgot to remove Bignum#bit_length. ------------------------------------------------------------------------ r54778 | akr | 2016-04-26 20:17:37 +0900 (Tue, 26 Apr 2016) | 16 lines {Fixnum,Bignum}#bit_length is unified into Integer. * numeric.c (rb_int_bit_length): {Fixnum,Bignum}#bit_length is unified into Integer. * bignum.c (rb_big_bit_length): Don't define Bignum#bit_length. * internal.h (rb_big_bit_length): Declared. --This iine, and those below, will be ignored-- M ChangeLog M bignum.c M internal.h M numeric.c ------------------------------------------------------------------------ r54777 | akr | 2016-04-26 19:59:27 +0900 (Tue, 26 Apr 2016) | 7 lines * numeric.c (int_abs): Integer#{abs,magnitude} moved from Fixnum and Bignum. * internal.h (rb_big_abs): Declared. * bignum.c (rb_big_abs): Don't define Bignum#{abs,magnitude}. ------------------------------------------------------------------------ r54776 | svn | 2016-04-26 17:38:21 +0900 (Tue, 26 Apr 2016) | 1 line * 2016-04-26 ------------------------------------------------------------------------ r54775 | nobu | 2016-04-26 17:38:20 +0900 (Tue, 26 Apr 2016) | 4 lines compile.c: true conditions * compile.c (compile_branch_condition): add more always-true conditions to optimize away unreachable branch. ------------------------------------------------------------------------ r54763 | nobu | 2016-04-25 17:30:56 +0900 (Mon, 25 Apr 2016) | 8 lines tk/extconf.rb: refactor * ext/tk/extconf.rb (collect_tcltk_defs): split by -D at the beginning or preceded by a space. exclude empty strings from $defs. * ext/tk/extconf.rb: test if value is set and has non-blank by matching /\S/ at once. ------------------------------------------------------------------------ r54762 | nobu | 2016-04-25 16:56:07 +0900 (Mon, 25 Apr 2016) | 6 lines net/http/header.rb: refactor * lib/net/http/header.rb (connection_close?): match headers without making intermediate arrays. * lib/net/http/header.rb (connection_keep_alive?): ditto. ------------------------------------------------------------------------ r54761 | nobu | 2016-04-25 16:56:06 +0900 (Mon, 25 Apr 2016) | 6 lines ripper: fix ripper.E * ext/ripper/depend (ripper.E): add missing $(INCFLAGS). * ext/ripper/tools/strip.rb: insert an empty line for blank or line directive lines. ------------------------------------------------------------------------ r54760 | nobu | 2016-04-25 16:56:03 +0900 (Mon, 25 Apr 2016) | 4 lines extmk.rb: refactor * ext/extmk.rb: extract non-blank part without intermediate objects. ------------------------------------------------------------------------ r54759 | nobu | 2016-04-25 14:39:12 +0900 (Mon, 25 Apr 2016) | 6 lines rbconfig/sizeof: calculate at compilation time * ext/rbconfig/sizeof/extconf.rb: just check the existence of each types, to reduce configuration time, especially cross-compiling. * template/sizes.c.tmpl: calculate sizes of checked types at compilation time. ------------------------------------------------------------------------ r54758 | nobu | 2016-04-25 14:38:55 +0900 (Mon, 25 Apr 2016) | 3 lines sizes.c.tmpl: extra semicolon * template/sizes.c.tmpl (DEFINE): remove extra semicolon. ------------------------------------------------------------------------ r54757 | nobu | 2016-04-25 12:45:50 +0900 (Mon, 25 Apr 2016) | 1 line configure.in: do not create unnecessary verconf.h ------------------------------------------------------------------------ r54756 | hsbt | 2016-04-25 11:27:34 +0900 (Mon, 25 Apr 2016) | 2 lines * doc/extension.rdoc: Improvements to english grammers. [Bug #12246][ruby-core:74792][ci skip] ------------------------------------------------------------------------ r54755 | hsbt | 2016-04-25 11:17:54 +0900 (Mon, 25 Apr 2016) | 3 lines * encoding.c: Fix return value of `Encoding::ISO8859_1.name` [Bug #12313][ruby-core:75147][ci skip] * ext/bigdecimal/bigdecimal.c: Fix code sample of `BigDecimal.new` ------------------------------------------------------------------------ r54753 | svn | 2016-04-25 00:08:26 +0900 (Mon, 25 Apr 2016) | 1 line * 2016-04-25 ------------------------------------------------------------------------ r54752 | naruse | 2016-04-25 00:08:25 +0900 (Mon, 25 Apr 2016) | 5 lines Revert "common.mk: timestamp file for verconf.h" This reverts commit r54748. It breaks build. http://www.rubyist.net/~akr/chkbuild/debian/ruby-trunk/log/20160424T120700Z.log.html.gz ------------------------------------------------------------------------ r54751 | naruse | 2016-04-24 23:58:48 +0900 (Sun, 24 Apr 2016) | 6 lines Revert "vm_insnhelper.c: INLINE condition" [Bug #12316] This reverts commit r54747. !__clang__ is also essential. Anyway clang inlines vm_getivar into both vm_call_ivar and vm_getinstancevariable, which r54728 originally intended to. ------------------------------------------------------------------------ r54750 | odaira | 2016-04-24 23:32:31 +0900 (Sun, 24 Apr 2016) | 1 line * configure.in: add missing -lm for AIX. ------------------------------------------------------------------------ r54749 | kazu | 2016-04-24 22:41:38 +0900 (Sun, 24 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54748 | nobu | 2016-04-24 21:01:47 +0900 (Sun, 24 Apr 2016) | 1 line common.mk: timestamp file for verconf.h ------------------------------------------------------------------------ r54747 | nobu | 2016-04-24 21:01:00 +0900 (Sun, 24 Apr 2016) | 4 lines vm_insnhelper.c: INLINE condition * vm_insnhelper.c (INLINE): works with __NO_INLINE__ only, __clang__ is not the point. ------------------------------------------------------------------------ r54746 | ktsj | 2016-04-24 18:42:40 +0900 (Sun, 24 Apr 2016) | 1 line * vm_insnhelper.c (INLINE): cosmetic change. ------------------------------------------------------------------------ r54745 | ktsj | 2016-04-24 18:37:04 +0900 (Sun, 24 Apr 2016) | 2 lines * vm_insnhelper.c (INLINE): disbale r54738 if __NO_INLINE__ is defined. It caused "undefined reference to `vm_getivar'". ------------------------------------------------------------------------ r54744 | nobu | 2016-04-24 12:42:25 +0900 (Sun, 24 Apr 2016) | 3 lines Revert r54742 Commit miss. ------------------------------------------------------------------------ r54743 | nobu | 2016-04-24 12:38:03 +0900 (Sun, 24 Apr 2016) | 1 line Disable r54738 if clang ------------------------------------------------------------------------ r54742 | nobu | 2016-04-24 11:56:20 +0900 (Sun, 24 Apr 2016) | 1 line Fix compile error other than gcc ------------------------------------------------------------------------ r54741 | nobu | 2016-04-24 11:10:09 +0900 (Sun, 24 Apr 2016) | 3 lines regexec.c: constify * regexec.c (match_at): constify oplabels. ------------------------------------------------------------------------ r54740 | nobu | 2016-04-24 10:10:29 +0900 (Sun, 24 Apr 2016) | 3 lines win32.c: suppress warnings * win32/win32.c (set_pioinfo_extra): remove "/*" within comment. ------------------------------------------------------------------------ r54739 | yui-knk | 2016-04-24 09:32:21 +0900 (Sun, 24 Apr 2016) | 2 lines * test/ruby/test_array.rb: Add test cases for Array#sum with non-numeric objects. ------------------------------------------------------------------------ r54738 | naruse | 2016-04-24 07:30:42 +0900 (Sun, 24 Apr 2016) | 29 lines * vm_insnhelper.c (INLINE): define as `inline` when it is optimized. define as `static inline` when it is not optimized to keep the symbol generated. * vm_insnhelper.c (vm_getivar): use `INLINE` to force inline so that a compiler inlines it into vm_getinstancevariable and optimizes out is_attr and related branches. * vm_insnhelper.c (vm_getivar): use `inline` to recommend inline. Without this vm1_ivar_set is degraded. benchmark results: minimum results in each 5 measurements. Execution time (sec) name ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux] ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux] built-ruby loop_whileloop 0.641 0.642 0.646 vm1_ivar* 1.002 0.999 0.831 vm1_ivar_set* 0.369 1.106 0.362 Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux]' (greater is better) name ruby 2.4.0dev (2016-04-23 trunk 54733) [x86_64-linux] built-ruby loop_whileloop 0.998 0.991 vm1_ivar* 1.003 1.205 vm1_ivar_set* 0.334 1.018 ------------------------------------------------------------------------ r54737 | naruse | 2016-04-24 03:46:26 +0900 (Sun, 24 Apr 2016) | 4 lines Support MSVC14 and 15 [Bug #11118] Search _pioinfo which is not exported after MSVC14. [Bug #12014] [GH-884] ------------------------------------------------------------------------ r54735 | svn | 2016-04-24 03:05:27 +0900 (Sun, 24 Apr 2016) | 1 line * 2016-04-24 ------------------------------------------------------------------------ r54734 | nagachika | 2016-04-24 03:05:26 +0900 (Sun, 24 Apr 2016) | 1 line * tool/merger.rb: use FileUtile.rm_f to fix an error on missing temporary file. ------------------------------------------------------------------------ r54733 | nobu | 2016-04-23 23:12:27 +0900 (Sat, 23 Apr 2016) | 4 lines compile.c: remove redundant trace insn * compile.c (iseq_peephole_optimize): remove successive line trace instructions except for the last. ------------------------------------------------------------------------ r54732 | nobu | 2016-04-23 21:17:36 +0900 (Sat, 23 Apr 2016) | 6 lines vm_insnhelper.c: getivar setivar optimization * vm_insnhelper.c (vm_getivar, vm_setivar): remove inline. * vm_insnhelper.c (vm_call_ivar, vm_call_attrset): tweak the order tail-call-optimization friendly. ------------------------------------------------------------------------ r54731 | nobu | 2016-04-23 20:43:52 +0900 (Sat, 23 Apr 2016) | 3 lines compile.c: instruction ID predicate * compile.c (IS_INSN_ID): add instruction ID predicate macro. ------------------------------------------------------------------------ r54730 | nobu | 2016-04-23 20:39:41 +0900 (Sat, 23 Apr 2016) | 4 lines compile.c: ISeq element type predicates * compile.c (IS_INSN, IS_LABEL, IS_ADJUST): add ISeq element type predicate macros. ------------------------------------------------------------------------ r54729 | nobu | 2016-04-23 20:26:59 +0900 (Sat, 23 Apr 2016) | 5 lines vm_insnhelper.c: missing static to inline * vm_insnhelper.c (vm_getivar): add missing static to inline, otherwise external symbol is referred and link fails when optimization is disabled. ------------------------------------------------------------------------ r54728 | naruse | 2016-04-23 18:16:51 +0900 (Sat, 23 Apr 2016) | 17 lines * vm_insnhelper.c (vm_getivar): specify inline instead of static inline. vm_getivar is called by vm_call_ivar and vm_getinstancevariable. At least with GCC 4.8 and 5.3 on Linux, they are inlining it into vm_call_ivar but not vm_getinstancevariable. By `inline`, they correctly inline it and gains performance. Speedup ratio: compare with the result of `ruby 2.4.0dev (2016-04-23 trunk 54727) [x86_64-linux]' (greater is better) name built-ruby loop_whileloop 1.001 vm1_ivar* 1.189 vm1_ivar_set* 1.024 Note tha `inline`'s meaning is different between old GCC and C99. Old GCC's inline means C99's extern inline. https://gcc.gnu.org/onlinedocs/gcc/Inline.html Since Ruby specify -std=iso9899:1999, it works like C99. ------------------------------------------------------------------------ r54727 | naruse | 2016-04-23 16:15:26 +0900 (Sat, 23 Apr 2016) | 2 lines * include/ruby/ruby.h (rb_mul_size_overflow): use UNLIKELY by user side to improve generallity. ------------------------------------------------------------------------ r54726 | naruse | 2016-04-23 16:15:25 +0900 (Sat, 23 Apr 2016) | 3 lines * include/ruby/ruby.h (RB_LIKELY): use prefix in ruby.h. * intern.h (LIKELY): define with RB_LIKELY. ------------------------------------------------------------------------ r54725 | yui-knk | 2016-04-23 13:27:12 +0900 (Sat, 23 Apr 2016) | 2 lines * NEWS: Add descriptions for Time#to_time updates. [Bug #12271] [ci skip] ------------------------------------------------------------------------ r54724 | yui-knk | 2016-04-23 13:23:29 +0900 (Sat, 23 Apr 2016) | 2 lines * NEWS: Add descriptions for DateTime#to_time updates. [Bug #12189] [ci skip] ------------------------------------------------------------------------ r54723 | nobu | 2016-04-23 12:23:51 +0900 (Sat, 23 Apr 2016) | 3 lines eval.c: reuse VM tag * eval.c (ruby_cleanup): reuse same VM tag by managing steps. ------------------------------------------------------------------------ r54722 | nobu | 2016-04-23 12:23:28 +0900 (Sat, 23 Apr 2016) | 4 lines eval_error.c: reuse threadptr * eval_error.c (error_print, error_handle): reuse same threadptr by passing as an argument. ------------------------------------------------------------------------ r54721 | nobu | 2016-04-23 11:21:29 +0900 (Sat, 23 Apr 2016) | 5 lines date_core.c: [DOC] markdown to rdoc [ci skip] * ext/date/date_core.c (Init_date_core): [DOC] Convert DateTime documentation to RDoc from Markdown. [ruby-core:75136] [Bug #12311] ------------------------------------------------------------------------ r54720 | nobu | 2016-04-23 09:03:37 +0900 (Sat, 23 Apr 2016) | 4 lines ruby.c: fix command line encoding on cygwin * ruby.c: cygwin does not use w32_cmdvector, command line can be other than UTF-8. [ruby-dev:49519] [Bug #12184] ------------------------------------------------------------------------ r54719 | nobu | 2016-04-23 09:02:25 +0900 (Sat, 23 Apr 2016) | 1 line configure.in: move cache variable for AIX round ------------------------------------------------------------------------ r54717 | svn | 2016-04-23 01:02:26 +0900 (Sat, 23 Apr 2016) | 1 line * 2016-04-23 ------------------------------------------------------------------------ r54716 | odaira | 2016-04-23 01:02:25 +0900 (Sat, 23 Apr 2016) | 3 lines * configure.in: don't use the system-provided round(3) on AIX. In AIX, round(0.49999999999999994) returns 1.0. Use round() in numeric.c instead. ------------------------------------------------------------------------ r54706 | akr | 2016-04-22 21:20:06 +0900 (Fri, 22 Apr 2016) | 6 lines * test/ruby/test_time_tz.rb: Tests depends on Europe/Moscow removed to avoid test failures due to the tzdata change. https://github.com/eggert/tz/commit/8ee11a301cf173afb0c76e0315b9f9ec8ebb9d95 Found by naruse. ------------------------------------------------------------------------ r54705 | akr | 2016-04-22 20:44:34 +0900 (Fri, 22 Apr 2016) | 2 lines [DOC] Arrah#sum with non-numeric objects. ------------------------------------------------------------------------ r54704 | naruse | 2016-04-22 20:42:31 +0900 (Fri, 22 Apr 2016) | 7 lines * include/ruby/ruby.h (rb_mul_size_overflow): added to handle mul overflow efficiently. * include/ruby/ruby.h (rb_alloc_tmp_buffer2): use rb_mul_size_overflow and avoid division where it can define DSIZE_T. * gc.c (xmalloc2_size): moved from ruby.h and use rb_mul_size_overflow. ------------------------------------------------------------------------ r54703 | nobu | 2016-04-22 20:34:05 +0900 (Fri, 22 Apr 2016) | 4 lines time.c: add example [ci skip] * time.c (time_asctime): [DOC] add ctime example, not only asctime. [ruby-core:75126] [Bug #12310] ------------------------------------------------------------------------ r54701 | nobu | 2016-04-22 19:04:47 +0900 (Fri, 22 Apr 2016) | 1 line variable.c: fix implicit conversion ------------------------------------------------------------------------ r54700 | naruse | 2016-04-22 18:47:34 +0900 (Fri, 22 Apr 2016) | 2 lines * variable.c: use uint32_t instead of long to avoid confusion about the type of ivtbl->numiv. ------------------------------------------------------------------------ r54699 | nobu | 2016-04-22 18:45:24 +0900 (Fri, 22 Apr 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54682 | nobu | 2016-04-22 15:14:21 +0900 (Fri, 22 Apr 2016) | 4 lines tk: suppress progress indicators * ext/tk/extconf.rb: hack to disable progress indicators with parallel build, not to interleave other messages. ------------------------------------------------------------------------ r54681 | nobu | 2016-04-22 15:09:29 +0900 (Fri, 22 Apr 2016) | 4 lines eval_jump.c: restore previous error info * eval_jump.c (exec_end_procs_chain): restore previous error info for each end procs. [ruby-core:75038] [Bug #12302] ------------------------------------------------------------------------ r54679 | usa | 2016-04-22 15:07:19 +0900 (Fri, 22 Apr 2016) | 4 lines * tool/redmine-backporter.rb: the fullpath of merger.rb is too long to copy&paste on Windows. show shorter name instead on the platform. I'm sure that the user of this command on Windows is only me. ------------------------------------------------------------------------ r54677 | usa | 2016-04-22 14:52:30 +0900 (Fri, 22 Apr 2016) | 2 lines * tool/merger.rb: remove temporary file. ------------------------------------------------------------------------ r54670 | hsbt | 2016-04-22 11:27:10 +0900 (Fri, 22 Apr 2016) | 2 lines * lib/net/http.rb: Improve documentation for SSL requests via GET method. [fix GH-1325][ci skip] Patch by @jsyeo ------------------------------------------------------------------------ r54669 | hsbt | 2016-04-22 10:51:18 +0900 (Fri, 22 Apr 2016) | 2 lines * lib/webrick/ssl.rb: Support to add SSLCiphers option. [fix GH-1321] Patch by @rhadoo ------------------------------------------------------------------------ r54668 | hsbt | 2016-04-22 10:43:31 +0900 (Fri, 22 Apr 2016) | 2 lines * file.c, win32/file.c: Removed obsoleted safe level checks. [fix GH-1327] Patch by @cremno ------------------------------------------------------------------------ r54667 | hsbt | 2016-04-22 10:02:01 +0900 (Fri, 22 Apr 2016) | 2 lines * benchmark/bm_so_meteor_contest.rb: fix a typo. [fix GH-1330][ci skip] Patch by @sachin21 ------------------------------------------------------------------------ r54666 | nobu | 2016-04-22 06:59:01 +0900 (Fri, 22 Apr 2016) | 5 lines default.mspec: OBJDIR * spec/default.mspec: set object directory for optional/capi, not to pollute the source directory. https://github.com/ruby/spec/pull/247 ------------------------------------------------------------------------ r54665 | nobu | 2016-04-22 06:38:21 +0900 (Fri, 22 Apr 2016) | 1 line spec/default.mspec: reduce expand_path ------------------------------------------------------------------------ r54664 | naruse | 2016-04-22 05:59:40 +0900 (Fri, 22 Apr 2016) | 7 lines * gc.c (rb_alloc_tmp_buffer_with_count): added like xmalloc2 to avoid duplicated check of size. * gc.c (ruby_xmalloc2): added to keep separate layers. * include/ruby/ruby.h (rb_alloc_tmp_buffer2): added to check the size more statically. ------------------------------------------------------------------------ r54663 | svn | 2016-04-22 05:59:40 +0900 (Fri, 22 Apr 2016) | 1 line * 2016-04-22 ------------------------------------------------------------------------ r54662 | naruse | 2016-04-22 05:59:39 +0900 (Fri, 22 Apr 2016) | 3 lines * include/ruby/ruby.h (LIKELY): moved from internal.h. * include/ruby/ruby.h (UNLIKELY): ditto. ------------------------------------------------------------------------ r54661 | naruse | 2016-04-22 05:59:39 +0900 (Fri, 22 Apr 2016) | 18 lines * gc.c (objspace_malloc_prepare): remove size check because it is used by objspace_xmalloc and objspace_xcalloc. objspace_xmalloc introduces its own check in this commit. objspace_xcalloc checks with xmalloc2_size (ruby_xmalloc2_size). * gc.c (objspace_xmalloc0): common xmalloc function. * gc.c (objspace_xmalloc): introduce its own size check. * gc.c (objspace_xmalloc2): separated from ruby_xmalloc2 to clarify the layer who has the responsibility to check the size. * gc.c (objspace_xrealloc): remove duplicated size check. * gc.c (ruby_xmalloc2): use objspace_xmalloc2. * include/ruby/ruby.h (ruby_xmalloc2_size): follow the size limit as SSIZE_MAX. Note that ISO C says size_t is unsigned integer. ------------------------------------------------------------------------ r54660 | kazu | 2016-04-21 21:16:14 +0900 (Thu, 21 Apr 2016) | 1 line fix typos ------------------------------------------------------------------------ r54659 | kazu | 2016-04-21 21:16:13 +0900 (Thu, 21 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54658 | svn | 2016-04-21 12:14:06 +0900 (Thu, 21 Apr 2016) | 1 line * 2016-04-21 ------------------------------------------------------------------------ r54657 | nobu | 2016-04-21 12:14:05 +0900 (Thu, 21 Apr 2016) | 6 lines ifchange: ignore unmatch TEST_COLORS * configure.in: check if succeeded in creating config.h. * tool/ifchange: ignore failures when TEST_COLORS unmatched. just use the default value if expected name is not contained in it. [ruby-core:75046] [Bug #12303] ------------------------------------------------------------------------ r54655 | nobu | 2016-04-20 17:33:33 +0900 (Wed, 20 Apr 2016) | 7 lines cgi/util.rb: remove CGI::Util#_unescape * ext/cgi/escape/escape.c (cgiesc_unescape): define unescape method instead of _unescape, and should pass the optional argument to the super method. * lib/cgi/util.rb (CGI::Util#_unescape): remove intermediate method. ------------------------------------------------------------------------ r54654 | nobu | 2016-04-20 15:52:30 +0900 (Wed, 20 Apr 2016) | 6 lines error.c: SyntaxError#initialize * error.c (syntax_error_initialize): move the default message, "compile error", from parse.y. the default parameter should belong to the class definition. * parse.y (yycompile0): use the default parameter. ------------------------------------------------------------------------ r54653 | nobu | 2016-04-20 13:37:26 +0900 (Wed, 20 Apr 2016) | 4 lines assertions.rb: return the exception * test/lib/test/unit/assertions.rb (assert_syntax_error): return the rescued exception object as well as assert_raise. ------------------------------------------------------------------------ r54652 | nobu | 2016-04-20 11:52:07 +0900 (Wed, 20 Apr 2016) | 4 lines compile.c: make SyntaxError after formatting * compile.c (append_compile_error): make SyntaxError instance by rb_syntax_error_append on demand after formatting the message. ------------------------------------------------------------------------ r54651 | svn | 2016-04-20 10:25:56 +0900 (Wed, 20 Apr 2016) | 1 line * 2016-04-20 ------------------------------------------------------------------------ r54650 | nobu | 2016-04-20 10:25:55 +0900 (Wed, 20 Apr 2016) | 8 lines refactor syntax error * compile.c (append_compile_error): use rb_syntax_error_append. * error.c (rb_syntax_error_append): append messages into a SyntaxError exception instance. * parse.y (yycompile0): make new SyntaxError instance in main mode, otherwize error_buffer should be a SyntaxError if error has occurred. ------------------------------------------------------------------------ r54649 | nobu | 2016-04-19 17:42:50 +0900 (Tue, 19 Apr 2016) | 7 lines refactor parser error * error.c (err_vcatf): rename, and separate appending message from creating a string buffer. * error.c (rb_syntax_error_append): merge rb_error_vsprintf and rb_compile_err_append. * parse.y (parser_compile_error): use rb_syntax_error_append. ------------------------------------------------------------------------ r54648 | nobu | 2016-04-19 13:46:20 +0900 (Tue, 19 Apr 2016) | 6 lines appending compile error without rb_errinfo * compile.c (append_compile_error, compile_bug): pass iseq and get error info and file from it, not by the thread error info. * error.c (rb_report_bug_valist): take va_list instead of variadic arguments, and just report the bug but not abort. ------------------------------------------------------------------------ r54647 | sonots | 2016-04-19 13:20:48 +0900 (Tue, 19 Apr 2016) | 4 lines * lib/time.rb: revert r54167 because it would break backward compatibilities, and it is documented that Time.parse does not take into account time zone abbreations other than ones described in RFC 822 ------------------------------------------------------------------------ r54646 | nobu | 2016-04-19 13:14:38 +0900 (Tue, 19 Apr 2016) | 4 lines use more descriptive assertions * test/logger/test_logdevice.rb: use assert_predicate, assert_not_predicate, and assert_file instead of bare assert. ------------------------------------------------------------------------ r54645 | sonots | 2016-04-19 13:13:19 +0900 (Tue, 19 Apr 2016) | 1 line * ChangeLog: Fix dates of previous commits ------------------------------------------------------------------------ r54644 | sonots | 2016-04-19 12:55:13 +0900 (Tue, 19 Apr 2016) | 2 lines * ChangeLog: Add descriptions for logger updates * NEWS: Add descriptions for logger updates ------------------------------------------------------------------------ r54641 | sonots | 2016-04-19 00:54:45 +0900 (Tue, 19 Apr 2016) | 1 line * test/logger/test_logdevice.rb: fix tests to pass on windows ------------------------------------------------------------------------ r54640 | svn | 2016-04-19 00:07:32 +0900 (Tue, 19 Apr 2016) | 1 line * 2016-04-19 ------------------------------------------------------------------------ r54639 | sonots | 2016-04-19 00:07:31 +0900 (Tue, 19 Apr 2016) | 1 line * lib/logger.rb: Add shift_period_suffix option [Fix GH-10772] ------------------------------------------------------------------------ r54638 | sonots | 2016-04-18 19:45:40 +0900 (Mon, 18 Apr 2016) | 4 lines Allow specifying logger parameters in constructor * lib/logger.rb: Allow specifying logger prameters such as level, progname, datetime_format, formatter in constructor [Bug #12224] ------------------------------------------------------------------------ r54630 | nobu | 2016-04-18 16:08:35 +0900 (Mon, 18 Apr 2016) | 3 lines error.c: warn_vsprintf * error.c (warn_vsprintf, warning_string): share common code. ------------------------------------------------------------------------ r54629 | nobu | 2016-04-18 16:08:34 +0900 (Mon, 18 Apr 2016) | 4 lines error.c: compile_vsprintf * error.c (compile_vsprintf): rename compile_snprintf, following the argument changes. ------------------------------------------------------------------------ r54628 | nobu | 2016-04-18 16:07:03 +0900 (Mon, 18 Apr 2016) | 5 lines compile.c: fix dangling link * compile.c (iseq_peephole_optimize): should not replace the current target INSN, not to follow the replaced dangling link in the caller. [ruby-core:74993] [Bug #11816] ------------------------------------------------------------------------ r54626 | nobu | 2016-04-18 12:57:34 +0900 (Mon, 18 Apr 2016) | 4 lines numeric.c: numeric ndigits * numeric.c (num_floor, num_ceil, num_truncate): add an optional parameter, digits, as well as Numeric#round. [Feature #12245] ------------------------------------------------------------------------ r54625 | nobu | 2016-04-18 12:56:33 +0900 (Mon, 18 Apr 2016) | 4 lines numeric.c: flo_truncate * numeric.c (flo_truncate): add an optional parameter, digits, as well as Float#round. [Feature #12245] ------------------------------------------------------------------------ r54624 | nobu | 2016-04-18 12:55:33 +0900 (Mon, 18 Apr 2016) | 4 lines numeric.c: int_truncate * numeric.c (int_truncate): add an optional parameter, digits, as well as Integer#round. [Feature #12245] ------------------------------------------------------------------------ r54623 | nobu | 2016-04-18 12:40:03 +0900 (Mon, 18 Apr 2016) | 4 lines test_float.rb: assertions for negative floats * test/ruby/test_float.rb: add assertions for round,floor,ceil on negative floats. [Feature #12245] ------------------------------------------------------------------------ r54622 | svn | 2016-04-18 11:38:38 +0900 (Mon, 18 Apr 2016) | 1 line * 2016-04-18 ------------------------------------------------------------------------ r54621 | nobu | 2016-04-18 11:38:37 +0900 (Mon, 18 Apr 2016) | 4 lines numeric.c: update doc [ci skip] * numeric.c (int_to_i): [DOC] floor and ceil are no longer synonyms. [Feature #12245] ------------------------------------------------------------------------ r54620 | nobu | 2016-04-17 21:37:15 +0900 (Sun, 17 Apr 2016) | 4 lines error.c: remove unused function * error.c (rb_compile_bug): remove unused function, which has never been exposed. ------------------------------------------------------------------------ r54619 | ktsj | 2016-04-17 20:34:52 +0900 (Sun, 17 Apr 2016) | 1 line * array.c (rb_ary_sum): [DOC] fix typos. ------------------------------------------------------------------------ r54616 | svn | 2016-04-17 04:20:12 +0900 (Sun, 17 Apr 2016) | 1 line * 2016-04-17 ------------------------------------------------------------------------ r54615 | nagachika | 2016-04-17 04:20:11 +0900 (Sun, 17 Apr 2016) | 1 line * tool/redmine-backporter.rb: revisions are strings. ------------------------------------------------------------------------ r54614 | yui-knk | 2016-04-16 14:25:59 +0900 (Sat, 16 Apr 2016) | 2 lines * ext/date/date_core.c : remove not used f_getlocal macro. After r54553 f_getlocal macro is not used. ------------------------------------------------------------------------ r54613 | yui-knk | 2016-04-16 14:14:13 +0900 (Sat, 16 Apr 2016) | 2 lines * ext/date/date_core.c : remove not used f_utc6 macro. After r54169 f_utc6 macro is not used. ------------------------------------------------------------------------ r54612 | nobu | 2016-04-16 10:00:13 +0900 (Sat, 16 Apr 2016) | 4 lines struct.c: unique members * struct.c (struct_make_members_list, rb_struct_s_def): member names should be unique. [ruby-core:74971] [Bug #12291] ------------------------------------------------------------------------ r54611 | nobu | 2016-04-16 09:59:42 +0900 (Sat, 16 Apr 2016) | 5 lines struct.c: struct_make_members_list * struct.c (struct_make_members_list): extract making member name list from char* va_list, with creating symbols without intermediate IDs. ------------------------------------------------------------------------ r54610 | nagachika | 2016-04-16 01:34:22 +0900 (Sat, 16 Apr 2016) | 1 line * tool/redmine-backporter.rb: sort revisions. ------------------------------------------------------------------------ r54609 | akr | 2016-04-16 01:26:38 +0900 (Sat, 16 Apr 2016) | 4 lines * array.c (rb_ary_sum): Don't yield same element twice. Found by nagachika. ------------------------------------------------------------------------ r54606 | akr | 2016-04-16 01:04:18 +0900 (Sat, 16 Apr 2016) | 2 lines * array.c (rb_ary_sum): Fix SEGV by [1/2r, 1].sum. ------------------------------------------------------------------------ r54605 | svn | 2016-04-16 00:26:49 +0900 (Sat, 16 Apr 2016) | 1 line * 2016-04-16 ------------------------------------------------------------------------ r54604 | akr | 2016-04-16 00:26:48 +0900 (Sat, 16 Apr 2016) | 2 lines mention Array#sum with third-party gems. ------------------------------------------------------------------------ r54603 | mrkn | 2016-04-15 23:54:39 +0900 (Fri, 15 Apr 2016) | 8 lines rename rb_rational_add -> rb_rational_plus * rational.c (rb_rational_plus): rename from rb_rational_add to be aligned with rb_fix_plus. * array.c (rb_ary_sum): ditto. * internal.h: ditto. ------------------------------------------------------------------------ r54602 | mrkn | 2016-04-15 23:46:35 +0900 (Fri, 15 Apr 2016) | 8 lines array.c (rb_ary_sum): use rb_rational_add directly * rational.c (rb_rational_add): rename from nurat_add. * array.c (rb_ary_sum): use rb_rational_add directly. * test/ruby/test_array.rb (test_sum): add assertions for an array of Rational values. ------------------------------------------------------------------------ r54601 | mrkn | 2016-04-15 22:33:05 +0900 (Fri, 15 Apr 2016) | 7 lines array.c: sum for Rational and Float mixed arrays * array.c (rb_ary_sum): apply the precision compensated algorithm for an array in which Rational and Float values are mixed. * test/ruby/test_array.rb (test_sum): add assertions for the above change. ------------------------------------------------------------------------ r54600 | nobu | 2016-04-15 22:30:03 +0900 (Fri, 15 Apr 2016) | 5 lines thread.c: defer setting name in initialize * thread.c (rb_thread_setname): defer setting native thread name set in initialize until the native thread is created. [ruby-core:74963] [Bug #12290] ------------------------------------------------------------------------ r54599 | nobu | 2016-04-15 21:13:35 +0900 (Fri, 15 Apr 2016) | 4 lines win32/console: io_handle * ext/-test-/win32/console/attribute.c (io_handle): extract conversion from IO instance to HANDLE. ------------------------------------------------------------------------ r54598 | nobu | 2016-04-15 21:12:25 +0900 (Fri, 15 Apr 2016) | 6 lines thread.c: must be initialized to set name * thread.c (get_initialized_threadptr): extract ensuring that the thread is initialized. * thread.c (rb_thread_setname): thread must be initialized to set the name. [ruby-core:74963] [Bug #12290] ------------------------------------------------------------------------ r54596 | hsbt | 2016-04-15 20:27:38 +0900 (Fri, 15 Apr 2016) | 1 line * lib/irb/ext/save-history.rb: Fix NoMethodError when method is not defined. ------------------------------------------------------------------------ r54594 | naruse | 2016-04-15 15:39:49 +0900 (Fri, 15 Apr 2016) | 1 line * common.mk (benchmark): order options for built-ruby and compare-ruby. ------------------------------------------------------------------------ r54593 | nobu | 2016-04-15 15:15:54 +0900 (Fri, 15 Apr 2016) | 1 line io/console: bump up ------------------------------------------------------------------------ r54591 | mrkn | 2016-04-15 14:16:04 +0900 (Fri, 15 Apr 2016) | 2 lines * test/ruby/test_array.rb (test_sum): add assertions for Rational and Complex numbers. ------------------------------------------------------------------------ r54590 | nobu | 2016-04-15 10:17:51 +0900 (Fri, 15 Apr 2016) | 1 line NEWS: mention [Feature #12245] ------------------------------------------------------------------------ r54589 | nobu | 2016-04-15 10:07:14 +0900 (Fri, 15 Apr 2016) | 7 lines io/console: unknown key code for names with nul * ext/io/console/console.c (console_key_pressed_p): raise the same exception, "unknown virtual key code", for names with nul chars. though console_win32_vk() considers the length and can deal with nul chars, rb_sprintf() raised at PRIsVALUE previously, so quote it if it is unprintable. ------------------------------------------------------------------------ r54588 | nobu | 2016-04-15 10:06:49 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: move conditions * test/io/console/test_io_console.rb: move conditions for method definitions before the bodies. ------------------------------------------------------------------------ r54587 | nobu | 2016-04-15 09:02:59 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: rb_sym2str * ext/io/console/console.c (rb_sym2str): fallback definition for older ruby. [ruby-core:74953] [Bug #12284] ------------------------------------------------------------------------ r54586 | nobu | 2016-04-15 09:02:43 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: use rb_funcallv * ext/io/console/console.c: use rb_funcallv instead of rb_funcall2, and define rb_funcallv if unavailable. ------------------------------------------------------------------------ r54585 | nobu | 2016-04-15 09:02:42 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: fallback RARRAY_CONST_PTR * ext/io/console/console.c (RARRAY_CONST_PTR): fallback definition for older ruby. ------------------------------------------------------------------------ r54584 | nobu | 2016-04-15 09:02:41 +0900 (Fri, 15 Apr 2016) | 4 lines io/console: reject symbols with nul char * ext/io/console/console.c (console_key_pressed_p): symbol names can contain nul chars, reject them. ------------------------------------------------------------------------ r54583 | nobu | 2016-04-15 06:41:08 +0900 (Fri, 15 Apr 2016) | 3 lines fix commit miss * ChangeLog: remove duplicate entry. ------------------------------------------------------------------------ r54582 | svn | 2016-04-15 01:19:34 +0900 (Fri, 15 Apr 2016) | 1 line * 2016-04-15 ------------------------------------------------------------------------ r54581 | akr | 2016-04-15 01:19:33 +0900 (Fri, 15 Apr 2016) | 2 lines add assertions. ------------------------------------------------------------------------ r54580 | kazu | 2016-04-14 22:40:30 +0900 (Thu, 14 Apr 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54579 | akr | 2016-04-14 21:57:07 +0900 (Thu, 14 Apr 2016) | 2 lines add an assertion. ------------------------------------------------------------------------ r54578 | akr | 2016-04-14 21:56:38 +0900 (Thu, 14 Apr 2016) | 2 lines [DOC] ------------------------------------------------------------------------ r54577 | akr | 2016-04-14 21:48:44 +0900 (Thu, 14 Apr 2016) | 3 lines * array.c (rb_ary_sum): Support the optional argument, init, and block. ------------------------------------------------------------------------ r54576 | naruse | 2016-04-14 19:06:41 +0900 (Thu, 14 Apr 2016) | 2 lines * lib/irb/ext/save-history.rb: suppress warning: method redefined; discarding old save_history=. ------------------------------------------------------------------------ r54575 | nobu | 2016-04-14 14:58:16 +0900 (Thu, 14 Apr 2016) | 5 lines tkutil.c: ary can be nil * ext/tk/tkutil/tkutil.c (tk_hash_kv): the third argument can be nil not only an Array. reported by @windwiny at https://github.com/ruby/ruby/commit/cdaa94e#commitcomment-17096618 ------------------------------------------------------------------------ r54574 | nobu | 2016-04-14 14:28:58 +0900 (Thu, 14 Apr 2016) | 5 lines cont.c: wrong _MSC_VER check * cont.c (fiber_initialize_machine_stack_context): fix wrong _MSC_VER check, should be decimal but not hexadecimal. [ruby-core:74936] [Bug #12279] ------------------------------------------------------------------------ r54573 | nobu | 2016-04-14 13:41:47 +0900 (Thu, 14 Apr 2016) | 4 lines process.c: prefer rb_check_arity * process.c: use rb_check_arity instead of rb_scan_args for simple optional arguments. ------------------------------------------------------------------------ r54572 | nobu | 2016-04-14 10:30:12 +0900 (Thu, 14 Apr 2016) | 4 lines ruby-runner.h * template/ruby-runner.h.in: separate configured part from ruby-runner.c. ------------------------------------------------------------------------ r54571 | nobu | 2016-04-14 10:25:34 +0900 (Thu, 14 Apr 2016) | 4 lines configure.in: feature macros on cygwin * configure.in (cygwin): add feature macros for the declarations of eaccess. ------------------------------------------------------------------------ r54570 | nobu | 2016-04-14 10:25:33 +0900 (Thu, 14 Apr 2016) | 3 lines configure.in: tabify * configure.in: tabify spaces after a tab. ------------------------------------------------------------------------ r54569 | svn | 2016-04-14 09:00:33 +0900 (Thu, 14 Apr 2016) | 1 line * 2016-04-14 ------------------------------------------------------------------------ r54568 | akr | 2016-04-14 09:00:32 +0900 (Thu, 14 Apr 2016) | 2 lines [DOC] ------------------------------------------------------------------------ r54567 | akr | 2016-04-13 23:55:18 +0900 (Wed, 13 Apr 2016) | 2 lines Array#sum described. ------------------------------------------------------------------------ r54566 | akr | 2016-04-13 23:40:20 +0900 (Wed, 13 Apr 2016) | 2 lines add a space in [ruby-core:74569] [Feature #12217] ------------------------------------------------------------------------ r54565 | akr | 2016-04-13 22:51:53 +0900 (Wed, 13 Apr 2016) | 9 lines * array.c (rb_ary_sum): Array#sum is implemented. Kahan's compensated summation algorithm for precise sum of float numbers is moved from ary_inject_op in enum.c. * enum.c (ary_inject_op): Don't specialize for float numbers. [ruby-core:74569] [Feature#12217] proposed by mrkn. ------------------------------------------------------------------------ r54564 | nobu | 2016-04-13 15:56:36 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: flo_ceil * numeric.c (flo_ceil): add an optional parameter, digits, as well as Float#round. [Feature #12245] ------------------------------------------------------------------------ r54563 | nobu | 2016-04-13 15:54:38 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: flo_floor * numeric.c (flo_floor): add an optional parameter, digits, as well as Integer#floor. [Feature #12245] ------------------------------------------------------------------------ r54562 | nobu | 2016-04-13 15:50:24 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: int_ceil * numeric.c (int_ceil): add an optional parameter, digits, as well as Integer#round. [Feature #12245] ------------------------------------------------------------------------ r54561 | nobu | 2016-04-13 15:47:55 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: int_floor * numeric.c (int_floor): add an optional parameter, digits, as well as Integer#round. ------------------------------------------------------------------------ r54560 | nobu | 2016-04-13 15:14:12 +0900 (Wed, 13 Apr 2016) | 1 line NEWS: [Feature #9969] ------------------------------------------------------------------------ r54559 | nobu | 2016-04-13 14:47:49 +0900 (Wed, 13 Apr 2016) | 4 lines file.c: File.empty? * file.c (Init_File): add alias File.empty? to File.zero?. [Feature #9969] ------------------------------------------------------------------------ r54558 | nobu | 2016-04-13 14:36:26 +0900 (Wed, 13 Apr 2016) | 4 lines parse.y: massign in cond * parse.y (assign_in_cond): allow multiple assignment in conditional expression. [Feature #10617] ------------------------------------------------------------------------ r54557 | nobu | 2016-04-13 14:12:01 +0900 (Wed, 13 Apr 2016) | 7 lines numeric.c: int_round_zero_p * bignum.c (rb_big_size): add wrapper function of BIGSIZE and rename the method funtion with _m suffix. * numeric.c (int_round_zero_p): extracted from rb_int_round. optimize for Bignum, and convert VALUE returned by Numeric#size to long. ------------------------------------------------------------------------ r54556 | ko1 | 2016-04-13 12:03:37 +0900 (Wed, 13 Apr 2016) | 7 lines * test/ruby/test_basicinstructions.rb: add a test to check access instance variables on special const objects. All of such objects are frozen, so that we can not set instance variables for them. But we can read instance variables and return default value (nil). ------------------------------------------------------------------------ r54555 | svn | 2016-04-13 11:41:25 +0900 (Wed, 13 Apr 2016) | 1 line * 2016-04-13 ------------------------------------------------------------------------ r54554 | nobu | 2016-04-13 11:41:24 +0900 (Wed, 13 Apr 2016) | 4 lines numeric.c: float_invariant_round * numeric.c (float_invariant_round): extracted from flo_round to be optimizer-friendly, e.g., tail-call optimization. ------------------------------------------------------------------------ r54553 | nobu | 2016-04-12 20:40:37 +0900 (Tue, 12 Apr 2016) | 4 lines date_core.c: preserve timezone * ext/date/date_core.c (time_to_time): should preserve timezone info. [ruby-core:74889] [Bug #12271] ------------------------------------------------------------------------ r54549 | nobu | 2016-04-12 12:49:03 +0900 (Tue, 12 Apr 2016) | 3 lines basictest: disable warnings * basictest/runner.rb: disable warnings for old test script. ------------------------------------------------------------------------ r54548 | nobu | 2016-04-12 11:51:20 +0900 (Tue, 12 Apr 2016) | 4 lines compile.c: initialize LABEL fields * compile.c (new_label_body): initialize bit fields, since compile_data_alloc does not clear the memory. [Bug #12082] ------------------------------------------------------------------------ r54547 | svn | 2016-04-12 09:30:56 +0900 (Tue, 12 Apr 2016) | 1 line * 2016-04-12 ------------------------------------------------------------------------ r54546 | nobu | 2016-04-12 09:30:55 +0900 (Tue, 12 Apr 2016) | 4 lines test_optimization.rb: disasm * test/ruby/test_optimization.rb (disasm): dump disassembled code for investigation. ------------------------------------------------------------------------ r54545 | kazu | 2016-04-11 21:39:31 +0900 (Mon, 11 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54544 | akr | 2016-04-11 20:50:00 +0900 (Mon, 11 Apr 2016) | 2 lines Update dependencies. ------------------------------------------------------------------------ r54543 | ko1 | 2016-04-11 20:19:52 +0900 (Mon, 11 Apr 2016) | 3 lines * vm_backtrace.c (frame2klass): filter only for imemo_ment. T_IMEMO/imemo_iseq can be passed here. ------------------------------------------------------------------------ r54542 | nobu | 2016-04-11 17:43:06 +0900 (Mon, 11 Apr 2016) | 5 lines compile.c: disable tco with rescue * compile.c (iseq_optimize): disable tail call optimization in rescued, rescue, and ensure blocks. [ruby-core:73871] [Bug #12082] ------------------------------------------------------------------------ r54541 | nobu | 2016-04-11 17:27:19 +0900 (Mon, 11 Apr 2016) | 4 lines TestException.rb: suppress warning * test/excludes/TestException.rb: suppress "ambiguous first argument" warning. ------------------------------------------------------------------------ r54540 | nobu | 2016-04-11 17:27:17 +0900 (Mon, 11 Apr 2016) | 4 lines test/unit.rb: show warning locations * test/lib/test/unit.rb (ExcludedMethods.load): supply the path to show the warning locations. ------------------------------------------------------------------------ r54539 | nobu | 2016-04-11 17:06:23 +0900 (Mon, 11 Apr 2016) | 5 lines test_whileuntil.rb: fix old behavior * test/ruby/test_whileuntil.rb (test_while): fix old behavior. mere numeric literal in condition no longer matches $. global variable. ------------------------------------------------------------------------ r54538 | nobu | 2016-04-11 17:06:22 +0900 (Mon, 11 Apr 2016) | 4 lines test_rubyoptions.rb: suppress warning * test/ruby/test_rubyoptions.rb (test_indentation_check): remove unused variable to suppress warning. ------------------------------------------------------------------------ r54537 | nobu | 2016-04-11 17:06:21 +0900 (Mon, 11 Apr 2016) | 4 lines test_regexp.rb: suppress warning * test/ruby/test_regexp.rb (test_named_capture): suppress "assigned but unused variable" warning by prefixing '_'. ------------------------------------------------------------------------ r54536 | nobu | 2016-04-11 17:06:19 +0900 (Mon, 11 Apr 2016) | 4 lines test_iterator.rb: suppress warnings * test/ruby/test_iterator.rb (test_break): suppress "statement not reached" warnings. ------------------------------------------------------------------------ r54535 | nobu | 2016-04-11 14:13:31 +0900 (Mon, 11 Apr 2016) | 5 lines test_coverage.rb: suppress warnings * test/coverage/test_coverage.rb (test_coverage_snapshot), (test_restarting_coverage): use unique names to suppress method redefinition warnings. ------------------------------------------------------------------------ r54534 | nobu | 2016-04-11 13:28:16 +0900 (Mon, 11 Apr 2016) | 4 lines fiddle/import.rb: suppress warnings * ext/fiddle/lib/fiddle/import.rb (type_alias, handler): suppress "not initialized instance variable" warnings. ------------------------------------------------------------------------ r54533 | nobu | 2016-04-11 06:59:02 +0900 (Mon, 11 Apr 2016) | 9 lines file.c: prefer rb_check_arity * file.c (rb_file_s_expand_path, rb_file_s_absolute_path): use rb_check_arity instead of rb_scan_args for a simple optional argument. * file.c (rb_file_s_realpath, rb_file_s_realdirpath): ditto. * file.c (rb_file_s_basename): ditto. ------------------------------------------------------------------------ r54532 | nobu | 2016-04-11 06:59:01 +0900 (Mon, 11 Apr 2016) | 4 lines file.c: apply2files returns Fixnum * file.c (apply2files): return Fixnum so that callers can just return it. ------------------------------------------------------------------------ r54531 | svn | 2016-04-11 06:54:43 +0900 (Mon, 11 Apr 2016) | 1 line * 2016-04-11 ------------------------------------------------------------------------ r54530 | nobu | 2016-04-11 06:54:41 +0900 (Mon, 11 Apr 2016) | 4 lines file.c: apply to argv * file.c (apply2files): apply to a VALUE vector instead of a temporary array. ------------------------------------------------------------------------ r54529 | nobu | 2016-04-10 20:54:17 +0900 (Sun, 10 Apr 2016) | 4 lines registry.rb: fix API names * ext/win32/lib/win32/registry.rb (DeleteValue, DeleteKey): fix API names. [ruby-core:74863] [Bug #12264] ------------------------------------------------------------------------ r54528 | nobu | 2016-04-10 17:47:44 +0900 (Sun, 10 Apr 2016) | 6 lines no argument conversions in rb_realpath_internal * file.c (rb_realpath_internal): no argument conversions since this internal function does not need to_path and encoding conversions, not to be affected by the default internal encoding. ------------------------------------------------------------------------ r54527 | svn | 2016-04-10 16:30:42 +0900 (Sun, 10 Apr 2016) | 1 line * 2016-04-10 ------------------------------------------------------------------------ r54526 | nobu | 2016-04-10 16:30:42 +0900 (Sun, 10 Apr 2016) | 5 lines win32/file.c: fix free * win32/file.c (rb_file_expand_path_internal): should free wpath, but not xfree, corresponding to rb_w32_mbstr_to_wstr which allocates by malloc. ------------------------------------------------------------------------ r54525 | ktsj | 2016-04-09 22:39:32 +0900 (Sat, 09 Apr 2016) | 1 line * lib/ostruct.rb: [DOC] fix position of nodoc directive. ------------------------------------------------------------------------ r54524 | nobu | 2016-04-09 13:01:35 +0900 (Sat, 09 Apr 2016) | 1 line ext/tk/extconf.rb: add newline ------------------------------------------------------------------------ r54523 | nobu | 2016-04-09 12:58:01 +0900 (Sat, 09 Apr 2016) | 3 lines load.c: fix r54521 * load.c (rb_f_load): do not convert the encoding twice. ------------------------------------------------------------------------ r54522 | nobu | 2016-04-09 10:25:11 +0900 (Sat, 09 Apr 2016) | 7 lines assertions.rb: set default internal encoding * test/lib/test/unit/assertions.rb (assert_raise_with_message): set default internal encoding to the excpected message, which affects String#inspect in messages. * test/lib/test/unit/assertions.rb (assert_warning): ditto. ------------------------------------------------------------------------ r54521 | nobu | 2016-04-09 10:03:15 +0900 (Sat, 09 Apr 2016) | 4 lines load.c: raise name before conversion * load.c (rb_f_load): raise with the original path name before encoding conversion. ------------------------------------------------------------------------ r54520 | nobu | 2016-04-09 09:59:53 +0900 (Sat, 09 Apr 2016) | 4 lines test_io_m17n.rb: nil default internal encoding * test/ruby/test_io_m17n.rb (test_bom_non_utf): ensure default internal encoding is not set. ------------------------------------------------------------------------ r54519 | svn | 2016-04-09 02:05:13 +0900 (Sat, 09 Apr 2016) | 1 line * 2016-04-09 ------------------------------------------------------------------------ r54518 | nobu | 2016-04-09 02:05:12 +0900 (Sat, 09 Apr 2016) | 9 lines bignum.c: rb_cstr_parse_inum * bignum.c (rb_cstr_parse_inum): [EXPERIMENTAL] new function to parse integer in C-string with length. the name and the arguments may be changed in the future. * bignum.c (rb_str_to_inum): preserve encoding of the argument in error messages, and no longer needs to copy non-terminated strings. * bignum.c (rb_str2big_{poweroftwo,normal,karatsuba,gmp}): ditto. ------------------------------------------------------------------------ r54517 | nobu | 2016-04-08 17:32:25 +0900 (Fri, 08 Apr 2016) | 4 lines bignum.c: radix check functions * bignum.c (valid_radix_p, invalid_radix): extracted functions to check radix. ------------------------------------------------------------------------ r54516 | nobu | 2016-04-08 12:53:28 +0900 (Fri, 08 Apr 2016) | 4 lines tk/extconf.rb: progress * ext/tk/extconf.rb (progress): print progress messages only if Logging is quiet. ------------------------------------------------------------------------ r54515 | nobu | 2016-04-08 12:14:45 +0900 (Fri, 08 Apr 2016) | 8 lines tk/extconf.rb: outdated checks * ext/tk/extconf.rb: remove outdated checks. * ext/tk/tcltklib.c (ip_ruby_cmd): remove longstanding dead code. ptr and len in RArray were till 1.8 and have_struct_member of 1.8 does not set HAVE_<stuct_name>_<member_name> but only HAVE_ST_<member_name>. ------------------------------------------------------------------------ r54514 | nobu | 2016-04-08 08:46:45 +0900 (Fri, 08 Apr 2016) | 4 lines dln.c: move error message definition * dln.c (dln_load): move the definition of incompatible library version error message to be shared. ------------------------------------------------------------------------ r54513 | svn | 2016-04-08 01:43:37 +0900 (Fri, 08 Apr 2016) | 1 line * 2016-04-08 ------------------------------------------------------------------------ r54512 | kazu | 2016-04-08 01:43:36 +0900 (Fri, 08 Apr 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54511 | nobu | 2016-04-07 21:14:29 +0900 (Thu, 07 Apr 2016) | 4 lines win32.c: call w32_wopen directly * win32/win32.c (rb_w32_uopen): call w32_wopen directly instead of variadic rb_w32_wopen. ------------------------------------------------------------------------ r54510 | nobu | 2016-04-07 19:04:05 +0900 (Thu, 07 Apr 2016) | 4 lines regexp.rdoc: terminators in comments [ci skip] * doc/regexp.rdoc (comments): [DOC] terminators cannot appear in comments. [ruby-core:74838] [Bug #12256] ------------------------------------------------------------------------ r54509 | nobu | 2016-04-07 11:24:16 +0900 (Thu, 07 Apr 2016) | 4 lines tkutil.c: fix overrun * ext/tk/tkutil/tkutil.c (cbsubst_initialize): fix out-of-bound access when no arguments given. `p Tk::Event.new` crashed. ------------------------------------------------------------------------ r54508 | nobu | 2016-04-07 10:33:04 +0900 (Thu, 07 Apr 2016) | 4 lines fake.rb: set extout * tool/fake.rb (prehook): set "extout" in RbConfig to configure extension libraries. ------------------------------------------------------------------------ r54507 | svn | 2016-04-07 09:10:42 +0900 (Thu, 07 Apr 2016) | 1 line * 2016-04-07 ------------------------------------------------------------------------ r54506 | nobu | 2016-04-07 09:10:41 +0900 (Thu, 07 Apr 2016) | 4 lines test_ssl.rb: skip unsupported ciphers * test/openssl/test_ssl.rb (test_get_ephemeral_key): skip unsupported ciphers. [GH-1318] ------------------------------------------------------------------------ r54504 | eregon | 2016-04-06 23:29:17 +0900 (Wed, 06 Apr 2016) | 6 lines * ext/coverage/coverage.c: Fully reset coverage to not persist global state. It was returning old file coverages as empty arrays to the user. [ruby-core:74596] [Bug #12220] * ext/coverage/coverage.c (rb_coverages): remove unused static state. * thread.c: Moved and renamed coverage_clear_result_i to reset_coverage_i. * test/coverage/test_coverage.rb: improve precision of tests. ------------------------------------------------------------------------ r54503 | nobu | 2016-04-06 22:41:33 +0900 (Wed, 06 Apr 2016) | 4 lines configure.in: fix lgamma_r condition * configure.in (rb_cv_lgamma_r_m0): fix the condition for lgamma_r(-0.0). [Bug #12249] ------------------------------------------------------------------------ r54502 | usa | 2016-04-06 17:40:02 +0900 (Wed, 06 Apr 2016) | 3 lines * tool/downloader.rb (RubyGems.download): follow the change of the rubygems ssl_certs directory tree introduced by previous commit. ------------------------------------------------------------------------ r54501 | nobu | 2016-04-06 16:59:37 +0900 (Wed, 06 Apr 2016) | 3 lines btest: resource limit * bootstraptest/test_thread.rb: rescue resource limitation errors. ------------------------------------------------------------------------ r54500 | hsbt | 2016-04-06 15:01:14 +0900 (Wed, 06 Apr 2016) | 3 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.3. Please see entries of 2.6.3 on https://github.com/rubygems/rubygems/blob/master/History.txt ------------------------------------------------------------------------ r54499 | nobu | 2016-04-06 14:13:29 +0900 (Wed, 06 Apr 2016) | 5 lines configure.in: check lgamma_r(-0.0) * configure.in (rb_cv_lgamma_r_m0): check if lgamma_r(-0.0) returns negative infinity. [Bug #12249] * math.c (ruby_lgamma_r): define by the configured result. ------------------------------------------------------------------------ r54498 | nobu | 2016-04-06 13:38:49 +0900 (Wed, 06 Apr 2016) | 4 lines test_ssl.rb: skip unavailable pkeys * test/openssl/test_ssl.rb (test_get_ephemeral_key): skip unavailable public keys. [GH-1318] ------------------------------------------------------------------------ r54497 | nobu | 2016-04-06 10:56:16 +0900 (Wed, 06 Apr 2016) | 6 lines Logger: simple refactoring * lib/logger.rb (Logger#level=): remove unnecessary local variable. * lib/logger.rb (Logger#initialize, Logger#reopen): [DOC] mention the default values. cherrypicked from [GH-1319]. ------------------------------------------------------------------------ r54496 | nobu | 2016-04-06 10:17:55 +0900 (Wed, 06 Apr 2016) | 6 lines lgamma_r.c: fix at -0.0 * math.c (ruby_lgamma_r): missing/lgamma_r.c is used on Windows, since msvcrt does not provide it. * missing/lgamma_r.c (lgamma_r): fix lgamma(-0.0). [ruby-core:74823] [Bug #12249] ------------------------------------------------------------------------ r54495 | usa | 2016-04-06 01:23:39 +0900 (Wed, 06 Apr 2016) | 3 lines * math.c (ruby_lgamma_r): mswin's lgamma_r also seems to be wrong. cf. [Bug #12249] ------------------------------------------------------------------------ r54494 | nobu | 2016-04-06 00:53:32 +0900 (Wed, 06 Apr 2016) | 3 lines math.c: fix lgamma * math.c (ruby_lgamma_r): fix lgamma(-0.0) on mingw and OSX. ------------------------------------------------------------------------ r54493 | svn | 2016-04-06 00:52:03 +0900 (Wed, 06 Apr 2016) | 1 line * 2016-04-06 ------------------------------------------------------------------------ r54492 | nobu | 2016-04-06 00:52:02 +0900 (Wed, 06 Apr 2016) | 4 lines math.c: fix tgamma * math.c (ruby_tgamma): fix tgamma(-0.0) on mingw. [ruby-core:74817] [Bug #12249] ------------------------------------------------------------------------ r54490 | nobu | 2016-04-05 17:15:22 +0900 (Tue, 05 Apr 2016) | 4 lines string.c: rb_str_concat_literals * string.c (rb_str_concat_literals): concatenate literal string fragments. ------------------------------------------------------------------------ r54489 | naruse | 2016-04-05 14:54:03 +0900 (Tue, 05 Apr 2016) | 2 lines * ext/nkf/nkf-utf8/nkf.c (mime_putc): fix typo. [Bug #12202] [ruby-core:74802] ------------------------------------------------------------------------ r54488 | kazu | 2016-04-05 01:12:03 +0900 (Tue, 05 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54487 | nobu | 2016-04-05 00:08:20 +0900 (Tue, 05 Apr 2016) | 4 lines test_get_ephemeral_key: use assert_instance_of * test/openssl/test_ssl.rb (test_get_ephemeral_key): should use assert_instance_of instead of comparison of classes. ------------------------------------------------------------------------ r54486 | svn | 2016-04-05 00:06:47 +0900 (Tue, 05 Apr 2016) | 1 line * 2016-04-05 ------------------------------------------------------------------------ r54485 | nobu | 2016-04-05 00:06:46 +0900 (Tue, 05 Apr 2016) | 6 lines openssl: Access to ephemeral TLS session key * ext/openssl/ossl_ssl.c (ossl_ssl_tmp_key): Access to ephemeral TLS session key in case of forward secrecy cipher. Only available since OpenSSL 1.0.2. [Fix GH-1318] * ext/openssl/extconf.rb: Check for SSL_get_server_tmp_key. ------------------------------------------------------------------------ r54484 | nobu | 2016-04-04 23:37:07 +0900 (Mon, 04 Apr 2016) | 6 lines at_exit list * vm_core.h (rb_vm_struct): make at_exit a single linked list but not RArray, not to mark the registered functions by the write barrier. based on the patches by Evan Phoenix. [ruby-core:73908] [Bug #12095] ------------------------------------------------------------------------ r54483 | svn | 2016-04-04 17:49:18 +0900 (Mon, 04 Apr 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54482 | ko1 | 2016-04-04 17:49:17 +0900 (Mon, 04 Apr 2016) | 15 lines * gc.c: change deafult value of RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO 0.3 -> 0.2 RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO 0.8 -> 0.65 These values are same as Ruby 2.0.0. This change cause GC counts. However, generational GC reduced each (minor) GC time and increase memory locality. So that not so big impact on my benchmarking results. (surprizingly, this fix speed up programs on some cases) You can change these values by environment variables if you feel wrong. ------------------------------------------------------------------------ r54481 | ko1 | 2016-04-04 17:41:55 +0900 (Mon, 04 Apr 2016) | 14 lines * gc.c (get_envparam_double): take an upper_bound. And also take an accept_zero flag which allow to accept zero even if lower_bound is set. * gc.c (ruby_gc_set_params): fix parameters. RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO set 0.9 as *lower_bound*, so that it should be upper_bound. Set RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO as lower bound. Also set lower/upper bound of RUBY_GC_HEAP_FREE_SLOTS_GOAL_RATIO to RUBY_GC_HEAP_FREE_SLOTS_MIN/MAX_RATIO. ------------------------------------------------------------------------ r54480 | svn | 2016-04-04 16:42:52 +0900 (Mon, 04 Apr 2016) | 1 line * 2016-04-04 ------------------------------------------------------------------------ r54479 | ko1 | 2016-04-04 16:42:51 +0900 (Mon, 04 Apr 2016) | 2 lines * vm.c (Init_VM): should pass tokens. ------------------------------------------------------------------------ r54477 | nobu | 2016-04-03 09:34:31 +0900 (Sun, 03 Apr 2016) | 7 lines numeric.c: dbl2ival no longer rounds * numeric.c (flodivmod): round division if it is a finite number and module is required. * numeric.c (dbl2ival): do not round here. * numeric.c (flo_ceil): use dbl2ival. * numeric.c (flo_round): round explicitly. ------------------------------------------------------------------------ r54476 | svn | 2016-04-03 07:38:45 +0900 (Sun, 03 Apr 2016) | 1 line * 2016-04-03 ------------------------------------------------------------------------ r54475 | nobu | 2016-04-03 07:38:44 +0900 (Sun, 03 Apr 2016) | 4 lines numeric.c: move declaration [ci skip] * numeric.c (fix_lshift, fix_rshift, flo_truncate): move forward declaration to the top. ------------------------------------------------------------------------ r54474 | nobu | 2016-04-02 15:33:26 +0900 (Sat, 02 Apr 2016) | 4 lines numeric.c: prefer rb_check_arity * numeric.c (flo_round, int_to_s, int_round): use rb_check_arity instead of rb_scan_args for a simple optional argument. ------------------------------------------------------------------------ r54473 | svn | 2016-04-02 15:24:20 +0900 (Sat, 02 Apr 2016) | 1 line * 2016-04-02 ------------------------------------------------------------------------ r54472 | nobu | 2016-04-02 15:24:19 +0900 (Sat, 02 Apr 2016) | 3 lines rb_check_arity returns argc now * include/ruby/intern.h (rb_check_arity): returns argc. ------------------------------------------------------------------------ r54470 | kazu | 2016-04-01 22:00:20 +0900 (Fri, 01 Apr 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r54469 | duerst | 2016-04-01 20:58:47 +0900 (Fri, 01 Apr 2016) | 9 lines * enc/unicode/case-folding.rb, casefold.h: Data generation to implement swapcase functionality for titlecase characters. Swapcase isn't defined by Unicode, because the purpose/usage of swapcase is unclear anyway. The implementation follows a proposal from Nobu, swaping the case of each component of a titlecase character individually. This means that the titlecase characters have to be decomposed. * enc/unicode.c: Code using the above data. * test/ruby/enc/test_case_mapping.rb: Tests for the above. ------------------------------------------------------------------------ r54468 | nobu | 2016-04-01 14:55:30 +0900 (Fri, 01 Apr 2016) | 11 lines improve git repository detection * configure.in (AC_CONFIG_FILES): $srcdir/.git can be a file pointing the real git_dir, such as when the git working tree is a "linked working tree" (a working tree created by git-worktree). So use git-rev-parse --git-dir to check if $srcdir is the top-level of a git repository, not just checking if the $srcdir/.git directory does exist or not. [ruby-core:74759] [Bug #12239] * tool/change_maker.rb: use tool/vcs.rb to detect VCS. This used to have its own VCS detection code, while we have tool/vcs.rb. * tool/vcs.rb (detect): remove code duplication ------------------------------------------------------------------------ r54467 | usa | 2016-04-01 12:27:17 +0900 (Fri, 01 Apr 2016) | 3 lines * tool/release.sh: BRE accepts \{m,\} expression. use it for future many-digits version numbers. ------------------------------------------------------------------------ r54466 | normal | 2016-04-01 05:33:55 +0900 (Fri, 01 Apr 2016) | 16 lines openssl: accept moving write buffer for write_nonblock By setting the SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER flag. This flag was introduced at the same time as SSL_MODE_ENABLE_PARTIAL_WRITE in OpenSSL 0.9.4 and makes usage with non-blocking sockets much easier. Before this, a Rubyist would need to remember the exact object which failed to write and reuse it later when the socket became writable again. This causes problems when the buffer is given by another layer of the application (e.g. a buffer is given by a Rack middleware or application to a Rack web server). * ext/openssl/ossl_ssl.c (ossl_sslctx_s_alloc): enable SSL_MODE_ACCEPT_MOVING_WRITE_BUFFER by default [Bug #12126] ------------------------------------------------------------------------ r54465 | eregon | 2016-04-01 01:14:52 +0900 (Fri, 01 Apr 2016) | 3 lines * thread.c (update_coverage): Do not track coverage in loaded files after Coverage.result. Avoids out-of-bounds access. [Bug #12237] * ext/coverage/coverage.c (coverage_clear_result_i): document. ------------------------------------------------------------------------ r54461 | usa | 2016-04-01 00:13:23 +0900 (Fri, 01 Apr 2016) | 2 lines * tool/release.sh: two-digit version number support. ------------------------------------------------------------------------ r54460 | svn | 2016-04-01 00:04:34 +0900 (Fri, 01 Apr 2016) | 1 line * 2016-04-01 ------------------------------------------------------------------------ r54459 | usa | 2016-04-01 00:04:34 +0900 (Fri, 01 Apr 2016) | 2 lines * tool/merger.rb (version): version number may be two-digit. ------------------------------------------------------------------------ r54455 | nobu | 2016-03-31 21:46:15 +0900 (Thu, 31 Mar 2016) | 3 lines gc.c: use PRIdSIZE * gc.c (heap_extend_pages): fix format specifiers for size_t. ------------------------------------------------------------------------ r54454 | ko1 | 2016-03-31 19:16:48 +0900 (Thu, 31 Mar 2016) | 2 lines * gc.c: need to set initial value of GC_HEAP_FREE_SLOTS_GOAL_RATIO. ------------------------------------------------------------------------ r54453 | ko1 | 2016-03-31 18:16:48 +0900 (Thu, 31 Mar 2016) | 25 lines * gc.c: change additional allocation policy. Introduce new environement variable GC_HEAP_FREE_SLOTS_GOAL_RATIO (goal_ratio) to calculate the ratio of additional memory. Before this change, we add pages with the following formula (when free_slots < total_pages * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO): next_pages = total_pages * RUBY_GC_HEAP_GROWTH_FACTOR This addition can allocate too much. With this change, we increase pages to satisfy the following formula: next_free_slots = next_total_slots * goal_ratio where next_free_slots = free_slots + adding_slots next_total_slots = total_slots + adding_slots. If you want to prepare many free slots, increase this ratio. If this variable is 0, then simply multiply RUBY_GC_HEAP_GROWTH_FACTOR. * gc.c (get_envparam_double): enable to accept 0. ------------------------------------------------------------------------ r54452 | ko1 | 2016-03-31 17:49:09 +0900 (Thu, 31 Mar 2016) | 2 lines * gc.c (gc_marks_finish): fix syntax error. ------------------------------------------------------------------------ r54451 | ko1 | 2016-03-31 17:21:35 +0900 (Thu, 31 Mar 2016) | 33 lines * gc.c: simplify allocate/free detecting logic at the end of marking. Before this change, heap_pages_min_slots are calculated at the beggining sweeping phase. And this value is used at the end of *next* marking phase. To simplify it, we use this value at the end of this marking phase. It means that we don't need to store this value as global state. Also heap_pages_max_slots is calculated at the begging of sweeping phase and used at the end of sweeping phase. To simplify this logic, we introduced new global value heap_pages_freeable_pages it means extra pages count we can free. gc_sweep_step() checks this value and moves empty pages to tomb_heap not more than this value. Because of this fix, heap_pages_swept_slots is no longer needed. * gc.c (rb_objspace_t::heap_pages): restruct the objspace global status. remove the following fileds * swept_slots (and heap_pages_swept_slots) * min_free_slots (and heap_pages_min_free_slots) * max_free_slots (and heap_pages_max_free_slots) And add the following filed. * freeable_pages (and heap_pages_freeable_pages) * gc.c (heap_pages_free_unused_pages): unlink tomb heap pages because tomb heap should have only freeable pages. * gc.c (heap_extend_pages): add parameters for future extension. ------------------------------------------------------------------------ r54450 | ko1 | 2016-03-31 16:45:13 +0900 (Thu, 31 Mar 2016) | 14 lines * gc.c: add GC parameters to configure the following values: * RUBY_GC_HEAP_FREE_SLOTS_MIN_RATIO: allocate additional pages when free slots is lower than the value (total_slots * (this ratio)). * RUBY_GC_HEAP_FREE_SLOTS_MAX_RATIO: allow to free pages when free slots is greater thatn the value (total_slots * (this ratio)). Before this change, these values are hard coded. * gc.c (ruby_gc_params_t): ditto. * gc.c (ruby_gc_set_params): ditto. ------------------------------------------------------------------------ r54449 | svn | 2016-03-31 16:02:41 +0900 (Thu, 31 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54448 | ko1 | 2016-03-31 16:02:40 +0900 (Thu, 31 Mar 2016) | 4 lines * gc.c (gc_verify_heap_page): check the number of zombies. * gc.c (gc_verify_heap_pages): check also tomb heap. ------------------------------------------------------------------------ r54447 | ko1 | 2016-03-31 15:51:27 +0900 (Thu, 31 Mar 2016) | 7 lines * gc.c (gc_page_sweep): return free slots count. * gc.c (gc_sweep_step): use returned free slots count. * gc.c (gc_sweep_step): change variable name `next' to `next_sweep_page'. ------------------------------------------------------------------------ r54446 | nobu | 2016-03-31 12:02:35 +0900 (Thu, 31 Mar 2016) | 4 lines complex.c: pure declarations * complex.c (get_dat1, get_dat2): turn into pure variable declarations only, not mixed code and declarations. ------------------------------------------------------------------------ r54445 | nobu | 2016-03-31 11:33:51 +0900 (Thu, 31 Mar 2016) | 4 lines date_core.c: fix indent * ext/date/date_core.c (d_lite_strftime, dt_lite_strftime): [DOC] fix indent not to be a big sole verbatim. ------------------------------------------------------------------------ r54444 | nobu | 2016-03-31 11:18:21 +0900 (Thu, 31 Mar 2016) | 4 lines date_core.c: fix DateTime rdoc * ext/date/date_core.c (Init_date_core): [DOC] fix misplaced doc of DateTime. [ruby-core:74729] [Bug #12233] ------------------------------------------------------------------------ r54441 | svn | 2016-03-31 03:41:47 +0900 (Thu, 31 Mar 2016) | 1 line * 2016-03-31 ------------------------------------------------------------------------ r54440 | naruse | 2016-03-31 03:41:46 +0900 (Thu, 31 Mar 2016) | 2 lines * ext/nkf/nkf-utf8/nkf.c: Merge upstream 69f7e74dde. fix indent. ------------------------------------------------------------------------ r54439 | nobu | 2016-03-30 22:14:31 +0900 (Wed, 30 Mar 2016) | 4 lines parse.y: get rid of ISASCII on ID * parse.y (ripper_id2sym): do not call ISASCII() on ID, rb_isascii is restricted to int now. ------------------------------------------------------------------------ r54438 | nobu | 2016-03-30 22:02:16 +0900 (Wed, 30 Mar 2016) | 5 lines st.c: fix collision statistics [ci skip] * st.c (stat_col): get rid of NaN. * st.c (collision_check): define before used. ------------------------------------------------------------------------ r54435 | nobu | 2016-03-30 17:21:18 +0900 (Wed, 30 Mar 2016) | 4 lines hash.c: init table with size * hash.c (rb_hash_s_create): allocate internal table with the given size. ------------------------------------------------------------------------ r54434 | nobu | 2016-03-30 16:33:21 +0900 (Wed, 30 Mar 2016) | 7 lines extension*.rdoc: fix errors [ci skip] * extension.rdoc, extension.ja.rdoc: [DOC] Fix some errors. Renamed files, wrong method names or argument types; the example GetDBM macro is now updated to the current version of the actual code. patch by Marcus Stollsteimer in [ruby-core:74690]. [Bug #12228] ------------------------------------------------------------------------ r54433 | nobu | 2016-03-30 10:27:03 +0900 (Wed, 30 Mar 2016) | 4 lines rational.c: pure declarations * rational.c (get_dat1, get_dat2): turn into pure variable declarations only, not mixed code and declarations. ------------------------------------------------------------------------ r54432 | hsbt | 2016-03-30 09:46:05 +0900 (Wed, 30 Mar 2016) | 4 lines * lib/open-uri.rb: Use `userinfo` for authenticated proxy. [fix GH-1148] Patch by @SokichiFujita * test/open-uri/test_open-uri.rb: ditto. [fix GH-1309] Patch by @jdamick ------------------------------------------------------------------------ r54423 | naruse | 2016-03-30 01:57:33 +0900 (Wed, 30 Mar 2016) | 2 lines * ext/nkf/nkf-utf8/nkf.c: Merge upstream 4f3edf80a0. patched by Anton Sivakov [Bug #12201] [Bug #12202] ------------------------------------------------------------------------ r54422 | svn | 2016-03-30 01:55:55 +0900 (Wed, 30 Mar 2016) | 1 line * 2016-03-30 ------------------------------------------------------------------------ r54421 | naruse | 2016-03-30 01:55:55 +0900 (Wed, 30 Mar 2016) | 2 lines * tool/redmine-backporter.rb: add given revision to current changests on associating the revision to the related ticket. ------------------------------------------------------------------------ r54420 | naruse | 2016-03-30 01:55:54 +0900 (Wed, 30 Mar 2016) | 1 line * tool/merger.rb: update revision.h before merge. ------------------------------------------------------------------------ r54400 | kazu | 2016-03-29 21:34:37 +0900 (Tue, 29 Mar 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54392 | naruse | 2016-03-29 19:34:54 +0900 (Tue, 29 Mar 2016) | 1 line * addr2line.c: define toupper for its use. fix r54391. ------------------------------------------------------------------------ r54391 | naruse | 2016-03-29 19:24:05 +0900 (Tue, 29 Mar 2016) | 7 lines * include/ruby/ruby.h (rb_isupper, rb_islower, rb_isalpha, rb_isdigit, rb_isalnum, rb_isxdigit, rb_isblank, rb_isspace, rb_isblank, rb_iscntrl, rb_isprint, rb_ispunct, rb_isgraph, rb_tolower, rb_toupper): use inline function to avoid function call. * include/ruby/ruby.h (rb_isascii): use inline function to clarify the logic. ------------------------------------------------------------------------ r54390 | naruse | 2016-03-29 18:59:27 +0900 (Tue, 29 Mar 2016) | 7 lines * tool/redmine-backporter.rb (backport): show merger.rb's path. * tool/redmine-backporter.rb (show): show current issue again if no ticket number is given. * tool/redmine-backporter.rb (rel): show error message if current bugs.ruby-lang.org doesn't support the API. ------------------------------------------------------------------------ r54389 | naruse | 2016-03-29 18:59:26 +0900 (Tue, 29 Mar 2016) | 2 lines * tool/merger.rb: support to backport header as backport identifier. Now you can specify by 'merge revision(s) 49254: [Backport #10738]'. ------------------------------------------------------------------------ r54383 | duerst | 2016-03-29 16:53:43 +0900 (Tue, 29 Mar 2016) | 6 lines * enc/unicode/case-folding.rb, casefold.h: Tweaked handling of 6 special cases in CaseUnfold_11_Table. * enc/unicode.c: Adjustments for above. * test/ruby/enc/test_case_mapping.rb: Tests for the above: Some tests in test_titlecase activated; test_greek added. A test in test_cherokee fixed. ------------------------------------------------------------------------ r54349 | duerst | 2016-03-29 13:30:58 +0900 (Tue, 29 Mar 2016) | 2 lines * enc/unicode.c: Cleaned up some comments. ------------------------------------------------------------------------ r54347 | duerst | 2016-03-29 13:24:55 +0900 (Tue, 29 Mar 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Removing data for idempotent titlecasing. * enc/unicode.c: Adjust code to data removal. ------------------------------------------------------------------------ r54346 | hsbt | 2016-03-29 12:45:32 +0900 (Tue, 29 Mar 2016) | 3 lines * lib/webrick/httpresponse.rb: Move error_body to method. It allow to override the body more easily. [fix GH-1307] * test/webrick/test_httpresponse.rb: ditto. ------------------------------------------------------------------------ r54345 | nobu | 2016-03-29 06:40:55 +0900 (Tue, 29 Mar 2016) | 6 lines remove rb_thread_t::base_block * error.c (rb_compile_err_append): rb_thread_t::base_block is no longer used. * iseq.c (rb_iseq_compile_with_option): ditto, no protection is needed. ------------------------------------------------------------------------ r54344 | svn | 2016-03-29 06:39:25 +0900 (Tue, 29 Mar 2016) | 1 line * 2016-03-29 ------------------------------------------------------------------------ r54343 | nobu | 2016-03-29 06:39:24 +0900 (Tue, 29 Mar 2016) | 9 lines remove rb_thread_t::parse_in_eval * parse.y (struct parser_params): move parse_in_eval flag from rb_thread_t. * parse.y (rb_parser_set_context): set parsing context, not only mild error flag. * iseq.c (rb_iseq_compile_with_option): the parser now refers no thread local states to be restored. * vm_eval.c (eval_string_with_cref): ditto. ------------------------------------------------------------------------ r54314 | kazu | 2016-03-28 21:25:41 +0900 (Mon, 28 Mar 2016) | 1 line * numeric.c (int_pos_p): fix typos. ------------------------------------------------------------------------ r54313 | duerst | 2016-03-28 14:54:47 +0900 (Mon, 28 Mar 2016) | 3 lines * enc/unicode.c: Refactoring in preparation for data reduction for titlecase. ------------------------------------------------------------------------ r54312 | duerst | 2016-03-28 14:36:35 +0900 (Mon, 28 Mar 2016) | 2 lines * enc/unicode.c: Minor refactoring for I WITH DOT ABOVE. ------------------------------------------------------------------------ r54311 | duerst | 2016-03-28 14:26:23 +0900 (Mon, 28 Mar 2016) | 2 lines * enc/unicode.c: Removed code now covered by data from table. ------------------------------------------------------------------------ r54310 | duerst | 2016-03-28 11:49:20 +0900 (Mon, 28 Mar 2016) | 2 lines * enc/unicode.c: Adding comments. [ci skip] ------------------------------------------------------------------------ r54309 | hsbt | 2016-03-28 11:30:28 +0900 (Mon, 28 Mar 2016) | 4 lines * lib/rubygems.rb: Fix `Gem.find_spec_for_exe` picks oldest gem. https://github.com/travis-ci/travis-ci/issues/5798 https://github.com/rubygems/rubygems/pull/1566 * test/rubygems/test_gem.rb: ditto. ------------------------------------------------------------------------ r54308 | hsbt | 2016-03-28 11:26:39 +0900 (Mon, 28 Mar 2016) | 3 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.2. Please see entries of 2.6.2 on https://github.com/rubygems/rubygems/blob/master/History.txt ------------------------------------------------------------------------ r54307 | hsbt | 2016-03-28 11:02:37 +0900 (Mon, 28 Mar 2016) | 3 lines * lib/rubygems/test_case.rb: Fix test on Windows for inconsistent temp path. https://github.com/rubygems/rubygems/pull/1554 [Bug #12193][ruby-core:74431] ------------------------------------------------------------------------ r54306 | nobu | 2016-03-28 08:19:50 +0900 (Mon, 28 Mar 2016) | 4 lines sprintf.c: refactor Rational f * sprintf.c (rb_str_format): refactor floating point format of Rational by using gereric Integer functions. ------------------------------------------------------------------------ r54305 | svn | 2016-03-28 08:18:53 +0900 (Mon, 28 Mar 2016) | 1 line * 2016-03-28 ------------------------------------------------------------------------ r54304 | nobu | 2016-03-28 08:18:52 +0900 (Mon, 28 Mar 2016) | 5 lines sprintf.c: fix buffer overflow * sprintf.c (rb_str_format): fix buffer overflow, length must be greater than precision. reported by William Bowling <will AT wbowling.info>. ------------------------------------------------------------------------ r54303 | nobu | 2016-03-27 12:55:08 +0900 (Sun, 27 Mar 2016) | 3 lines sprintf.c: simplify * sprintf.c (rb_str_format): remove repeated calculations. ------------------------------------------------------------------------ r54302 | nobu | 2016-03-27 12:13:39 +0900 (Sun, 27 Mar 2016) | 5 lines sprintf.c: Rational f by generic Integer functions * sprintf.c (rb_str_format): convert Rational to floating point format by using gereric Integer functions, not by methods which can be overwritten. ------------------------------------------------------------------------ r54301 | svn | 2016-03-27 10:18:11 +0900 (Sun, 27 Mar 2016) | 1 line * 2016-03-27 ------------------------------------------------------------------------ r54300 | nobu | 2016-03-27 10:18:10 +0900 (Sun, 27 Mar 2016) | 3 lines gen_dummy_probes.rb: argument names * tool/gen_dummy_probes.rb: preserve macro argument names. ------------------------------------------------------------------------ r54299 | nobu | 2016-03-26 11:03:49 +0900 (Sat, 26 Mar 2016) | 4 lines test_integer.rb: refine test_round * test/ruby/test_integer.rb (test_round): refine assertions and borrow from rubyspec. ------------------------------------------------------------------------ r54298 | nobu | 2016-03-26 10:55:14 +0900 (Sat, 26 Mar 2016) | 4 lines numeric.c: rb_int2str * numeric.c (rb_int2str): conversion function to String for generic Integer. ------------------------------------------------------------------------ r54297 | nobu | 2016-03-26 10:54:50 +0900 (Sat, 26 Mar 2016) | 4 lines numeric.c: rb_int_round * numeric.c (rb_int_round): rounding function for generic Integers. ------------------------------------------------------------------------ r54296 | nobu | 2016-03-26 10:54:16 +0900 (Sat, 26 Mar 2016) | 4 lines numeric.c: basic arithmetic * numeric.c (rb_int_{uminus,plus,minus,mul,idiv,modulo}): basic arithmetic functions for generic Integers. ------------------------------------------------------------------------ r54295 | nobu | 2016-03-26 10:52:00 +0900 (Sat, 26 Mar 2016) | 4 lines numeric.c: Fixnum predicts * numeric.c (FIXNUM_{POSITIVE,NEGATIVE,ZERO}_P): predict macros only for Fixnum. ------------------------------------------------------------------------ r54294 | nobu | 2016-03-26 10:34:35 +0900 (Sat, 26 Mar 2016) | 4 lines compile.c: explicit address * compile.c (prepare_compile_error): add & to explicit address of functions to suppress warnings by old VC. ------------------------------------------------------------------------ r54293 | naruse | 2016-03-26 06:44:26 +0900 (Sat, 26 Mar 2016) | 1 line use more suitable ticket [Bug #12218] ------------------------------------------------------------------------ r54292 | naruse | 2016-03-26 06:40:49 +0900 (Sat, 26 Mar 2016) | 1 line Add patch author of r54291 ------------------------------------------------------------------------ r54291 | naruse | 2016-03-26 06:35:39 +0900 (Sat, 26 Mar 2016) | 1 line * localeinit.c (rb_locale_charmap_index): fix prototype. [Bug #12118] ------------------------------------------------------------------------ r54289 | svn | 2016-03-26 00:12:26 +0900 (Sat, 26 Mar 2016) | 1 line * 2016-03-26 ------------------------------------------------------------------------ r54288 | usa | 2016-03-26 00:12:25 +0900 (Sat, 26 Mar 2016) | 2 lines * ChangeLog: [ci skip] correct a mail address. cf. [Bug #11870] ------------------------------------------------------------------------ r54259 | duerst | 2016-03-25 16:40:49 +0900 (Fri, 25 Mar 2016) | 3 lines * test/ruby/enc/test_case_mapping.rb: Additional tests title case; some not yet activated. ------------------------------------------------------------------------ r54258 | nobu | 2016-03-25 13:38:13 +0900 (Fri, 25 Mar 2016) | 8 lines openssl: fix build when NPN is disabled by OpenSSL * ext/openssl/extconf.rb: check SSL_CTX_set_next_proto_select_cb function rather than OPENSSL_NPN_NEGOTIATED macro. it exists even if it is disabled by OpenSSL configuration. [ruby-core:74384] [Bug #12182] * ext/openssl/ossl_ssl.c: update #ifdef(s) as above. * test/openssl/test_ssl.rb: skip NPN tests if NPN is disabled. ------------------------------------------------------------------------ r54257 | nobu | 2016-03-25 11:08:39 +0900 (Fri, 25 Mar 2016) | 4 lines fix URI::HTTP.new example * lib/uri/http.rb (URI::HTTP#initialize): [DOC] fix example, missing mandatory arguments. [ruby-core:74540] [Bug #12215] ------------------------------------------------------------------------ r54256 | naruse | 2016-03-25 01:51:30 +0900 (Fri, 25 Mar 2016) | 2 lines * thread_pthread.c (reserve_stack): fix reserving position where the stack growing bottom to top. [Bug #12118] ------------------------------------------------------------------------ r54255 | nobu | 2016-03-25 01:10:43 +0900 (Fri, 25 Mar 2016) | 7 lines mkmf: Unquote directory strings * lib/mkmf.rb (find_executable0): On Windows, it is actually valid to surround individual PATH directory entries with double quotes. Remove these before joining the path as otherwise the literal quotes would become part of the path, resulting in the executable not to be found. [Fix GH-1305] ------------------------------------------------------------------------ r54254 | nobu | 2016-03-25 01:04:51 +0900 (Fri, 25 Mar 2016) | 4 lines test_find_executable.rb: each_exts * test/mkmf/test_find_executable.rb (each_exts): extract common setup. ------------------------------------------------------------------------ r54253 | nobu | 2016-03-25 00:49:43 +0900 (Fri, 25 Mar 2016) | 4 lines strftime.c: Bignum conversion * strftime.c (format_value): convert from Bignum to String, instead of rb_str_format. ------------------------------------------------------------------------ r54252 | nobu | 2016-03-25 00:12:56 +0900 (Fri, 25 Mar 2016) | 4 lines strftime.c: set buffer length * strftime.c (FMTV): set the buffer length before appending to keep just put part. ------------------------------------------------------------------------ r54251 | svn | 2016-03-25 00:01:40 +0900 (Fri, 25 Mar 2016) | 1 line * 2016-03-25 ------------------------------------------------------------------------ r54250 | nobu | 2016-03-25 00:01:39 +0900 (Fri, 25 Mar 2016) | 4 lines strftime.c: refine r54248 * strftime.c (FMT_PRECISION): eliminate side effects. [Bug #12213] ------------------------------------------------------------------------ r54249 | nobu | 2016-03-24 22:39:42 +0900 (Thu, 24 Mar 2016) | 1 line ChangeLog: remove duplicate entry [ci skip] ------------------------------------------------------------------------ r54248 | nobu | 2016-03-24 22:38:20 +0900 (Thu, 24 Mar 2016) | 4 lines strftime.c: remove recursive-assignments * strftime.c (FMT, FMTV): remove recursive-assignments to get rid of undefined behavior. [ruby-core:74532] [Bug #12213] ------------------------------------------------------------------------ r54246 | nobu | 2016-03-24 17:44:03 +0900 (Thu, 24 Mar 2016) | 5 lines strftime.c: fix FMTV * strftime.c (FMT_PADDING): extract format for padding. * strftime.c (FMT_PRECISION): extract precision formula. * strftime.c (FMTV): append formatted string to expand the result. ------------------------------------------------------------------------ r54245 | nobu | 2016-03-24 14:20:22 +0900 (Thu, 24 Mar 2016) | 4 lines strftime.c: case conversion * strftime.c (STRFTIME): deal with case conversion flags for recursive formats. ------------------------------------------------------------------------ r54244 | nobu | 2016-03-24 13:27:35 +0900 (Thu, 24 Mar 2016) | 4 lines date_core.c: unused variable * ext/date/date_core.c (dt_lite_jisx0301): remove no longer used variable. ------------------------------------------------------------------------ r54243 | nobu | 2016-03-24 12:43:28 +0900 (Thu, 24 Mar 2016) | 4 lines date_core.c: append strings * ext/date/date_core.c (dt_lite_iso8601): strftimev() always returns a String, so append them directly. ------------------------------------------------------------------------ r54242 | nobu | 2016-03-24 12:43:06 +0900 (Thu, 24 Mar 2016) | 5 lines date_core.c: fix jisx0301 and iso8601 * ext/date/date_core.c (d_lite_jisx0301, iso8601_timediv), (dt_lite_jisx0301): format by the format string in local buffer to prevent intermediate strings from GC. ------------------------------------------------------------------------ r54241 | nobu | 2016-03-24 12:42:37 +0900 (Thu, 24 Mar 2016) | 4 lines date_core.c: fix inspect * ext/date/date_core.c (mk_inspect_raw, mk_inspect): inspect by "%+"PRIsVALUE, to prevent intermediate strings from GC. ------------------------------------------------------------------------ r54240 | svn | 2016-03-24 11:43:35 +0900 (Thu, 24 Mar 2016) | 1 line * 2016-03-24 ------------------------------------------------------------------------ r54239 | nobu | 2016-03-24 11:43:34 +0900 (Thu, 24 Mar 2016) | 5 lines strftime.c: fix false failure * strftime.c (rb_strftime_with_timespec): remove unnecessary check, as `s` equals to `endp` when recursed STRFTIME resized the capacity same as the size. ------------------------------------------------------------------------ r54238 | mrkn | 2016-03-23 21:50:24 +0900 (Wed, 23 Mar 2016) | 1 line * enum.c (ary_inject_op): put subtract operation out of if-clause. ------------------------------------------------------------------------ r54237 | mrkn | 2016-03-23 21:41:00 +0900 (Wed, 23 Mar 2016) | 2 lines * enum.c (ary_inject_op): Use Kahan's compensated summation algorithm for summing up float values. ------------------------------------------------------------------------ r54236 | nobu | 2016-03-23 20:57:01 +0900 (Wed, 23 Mar 2016) | 9 lines strftime.c: format in String * strftime.c (rb_strftime_with_timespec): append formatted results to the given string with expanding, and also deal with NUL chars. * strftime.c (rb_strftime, rb_strftime_timespec): return formatted string, not the length put in the given buffer. * time.c (rb_strftime_alloc): no longer needs to retry with reallocating buffers. * time.c (time_strftime): no longer needs to split by NUL chars. ------------------------------------------------------------------------ r54235 | naruse | 2016-03-23 14:25:29 +0900 (Wed, 23 Mar 2016) | 3 lines * lib/rdoc/ri/driver.rb (interactive): rescue NotFoundError raised in expand_name. (display_name rescues NotFoundError by itself, the original logic looks buggy...) ------------------------------------------------------------------------ r54234 | nobu | 2016-03-23 11:44:54 +0900 (Wed, 23 Mar 2016) | 5 lines remove SIGN_EXTEND_CHAR macro * marshal.c (r_long): cast to `signed char`, which is used already, instead of SIGN_EXTEND_CHAR. * parse.y: SIGN_EXTEND_CHAR is no longer used. [Fix GH-1302] ------------------------------------------------------------------------ r54233 | nobu | 2016-03-23 11:38:49 +0900 (Wed, 23 Mar 2016) | 8 lines GNUmakefile.in: fix MSYS2_ARG_CONV_EXCL * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL_PARAM): * add missing parentheses and remove double quotes. * rename to get rid of recursive references. * as --excludes-dir option is for a path name, its argument should be converted. [ruby-dev:49526] [Bug #12199] ------------------------------------------------------------------------ r54232 | svn | 2016-03-23 10:39:42 +0900 (Wed, 23 Mar 2016) | 1 line * 2016-03-23 ------------------------------------------------------------------------ r54231 | hsbt | 2016-03-23 10:39:41 +0900 (Wed, 23 Mar 2016) | 2 lines * variable.c: Added documentation about order of `Module#constants` [ci skip][Bug #12121][ruby-dev:49505][fix GH-1301] ------------------------------------------------------------------------ r54230 | svn | 2016-03-22 21:08:31 +0900 (Tue, 22 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54229 | duerst | 2016-03-22 21:08:30 +0900 (Tue, 22 Mar 2016) | 6 lines * include/ruby/oniguruma.h: Additional flag for characters that are titlecase. * enc/unicode/case-folding.rb, casefold.h: Using above flag in data. * enc/unicode.c: Marking capitalized character as unmodified if it is already titlecase. * test/ruby/enc/test_case_mapping.rb: Tests for above functionality. ------------------------------------------------------------------------ r54228 | nobu | 2016-03-22 14:19:01 +0900 (Tue, 22 Mar 2016) | 4 lines parse.y: lambda indentation check * parse.y (lambda_body, parser_yylex): warn mismatched indentation of lambda block. ------------------------------------------------------------------------ r54227 | nobu | 2016-03-22 14:13:55 +0900 (Tue, 22 Mar 2016) | 4 lines test_rubyoptions.rb: other indentation checks * test/ruby/test_rubyoptions.rb (test_indentation_check): assert warnings against other keyword mismatches. ------------------------------------------------------------------------ r54226 | usa | 2016-03-22 11:41:24 +0900 (Tue, 22 Mar 2016) | 3 lines * time.c (wmul): wrong condition. fixed many test failures on 32bit and LLP64 platforms. ------------------------------------------------------------------------ r54225 | usa | 2016-03-22 10:37:01 +0900 (Tue, 22 Mar 2016) | 7 lines * time.c (wdiv, wmod): wdivmod0() assumes the 3rd and the 4th arguments are valid pointers. maybe checking them in wdivmod0() is better manner, but I guess that passing real dummy pointers may be faster than checking and branching in wdivmod0(). this commit fixes SEGV on 32bit and LLP64 platforms. ------------------------------------------------------------------------ r54224 | usa | 2016-03-22 10:24:55 +0900 (Tue, 22 Mar 2016) | 2 lines * time.c (divmodv): void function never returns any value. ------------------------------------------------------------------------ r54223 | nobu | 2016-03-22 10:11:03 +0900 (Tue, 22 Mar 2016) | 6 lines test/unit.rb: defer failures in non-replace mode * test/lib/test/unit.rb (Test::Unit::StatusLine#failed): print failed messages only if replacing mode, otherwise defer them until the end, to get rid of interleaving failures with progress messages. refix r54195. ------------------------------------------------------------------------ r54222 | naruse | 2016-03-22 04:14:27 +0900 (Tue, 22 Mar 2016) | 1 line fix typo ------------------------------------------------------------------------ r54221 | naruse | 2016-03-22 03:57:30 +0900 (Tue, 22 Mar 2016) | 10 lines * time.c (MUL_OVERFLOW_FIXWV_P): defined for FIXWV. * time.c (wmul): use MUL_OVERFLOW_FIXWV_P and only switch. * time.c (wmul): use mul which has Fixnum optimization. * time.c (rb_time_magnify): If WIDEVALUE_IS_WIDER, wmul() has the same optimized logic, else mul() has also the similar logic for Fixnum. * time.c (rb_time_unmagnify): almost ditto. ------------------------------------------------------------------------ r54220 | naruse | 2016-03-22 03:57:25 +0900 (Tue, 22 Mar 2016) | 1 line fix typo ------------------------------------------------------------------------ r54219 | svn | 2016-03-22 03:19:16 +0900 (Tue, 22 Mar 2016) | 1 line * 2016-03-22 ------------------------------------------------------------------------ r54218 | naruse | 2016-03-22 03:19:15 +0900 (Tue, 22 Mar 2016) | 14 lines * time.c (divmodv): add the case both arguments are Fixnum. * time.c (wquo): use quo which has Fixnum optimization. * time.c (wdivmod0): added for WIDEVALUE_IS_WIDER. * time.c (wdivmod): use wdivmod0 and divmodv. divmodv has Fixnum optimization. * time.c (wdiv): use wdivmod0 and div to avoid the use of divmodv which calls id_quo whose return value is array. * time.c (wmod): use wdivmod0 and mod to avoid the use of divmodv which calls id_quo whose return value is array. ------------------------------------------------------------------------ r54217 | nobu | 2016-03-21 22:53:25 +0900 (Mon, 21 Mar 2016) | 4 lines suppress warning * iseq.c (rb_iseq_compile_with_option): suppress maybe-uninitialized warning by gcc 4.8. ------------------------------------------------------------------------ r54216 | naruse | 2016-03-21 22:36:03 +0900 (Mon, 21 Mar 2016) | 3 lines * internal.h (rb_fix_divmod_fix): like r54213, use FIX2NUM only if x == FIXNUM_MIN && y == -1. This must be a rare case and it is expected compiler to handle well. ------------------------------------------------------------------------ r54215 | nobu | 2016-03-21 22:31:30 +0900 (Mon, 21 Mar 2016) | 1 line time.c (quo): fix missing return ------------------------------------------------------------------------ r54214 | naruse | 2016-03-21 22:21:12 +0900 (Mon, 21 Mar 2016) | 1 line fix commit miss ------------------------------------------------------------------------ r54213 | naruse | 2016-03-21 22:17:45 +0900 (Mon, 21 Mar 2016) | 4 lines * time.c (mod): Add Fixnum case. * time.c (quo): c can be Fixnum except a == FIXNUM_MIN && b == -1. Such case can be optimized out because quo()'s argument is constant. ------------------------------------------------------------------------ r54212 | nobu | 2016-03-21 22:09:26 +0900 (Mon, 21 Mar 2016) | 4 lines internal.h: fix no-DLONG case * internal.h (rb_fix_mul_fix): multiply converted values, not object VALUEs. ------------------------------------------------------------------------ r54211 | nobu | 2016-03-21 20:18:31 +0900 (Mon, 21 Mar 2016) | 6 lines suppress msys2 pathname conversion * common.mk (TEST_EXCLUDES, EXCLUDE_TESTFRAMEWORK): use full spell long option. * cygwin/GNUmakefile.in (MSYS2_ARG_CONV_EXCL): suppress path name conversions by msys2. [ruby-dev:49525] [Bug #12199] ------------------------------------------------------------------------ r54210 | nobu | 2016-03-21 19:09:33 +0900 (Mon, 21 Mar 2016) | 5 lines string.c: skip invalid char gap * string.c (enc_succ_alnum_char): try to skip an invalid character gap between GREEK CAPITAL RHO and SIGMA. [ruby-core:74478] [Bug #12204] ------------------------------------------------------------------------ r54209 | nobu | 2016-03-21 18:55:50 +0900 (Mon, 21 Mar 2016) | 4 lines node.c: mark u3 of NODE_MATCH2 * node.c (rb_gc_mark_node): NODE_MATCH2 can have nd_args, u3, since r54100. ------------------------------------------------------------------------ r54208 | nobu | 2016-03-21 18:55:29 +0900 (Mon, 21 Mar 2016) | 4 lines test/unit.rb: show crashed file * test/lib/test/unit.rb (after_worker_down): show failed file name if worker crashed. ------------------------------------------------------------------------ r54207 | svn | 2016-03-21 03:28:22 +0900 (Mon, 21 Mar 2016) | 1 line * 2016-03-21 ------------------------------------------------------------------------ r54206 | naruse | 2016-03-21 03:28:21 +0900 (Mon, 21 Mar 2016) | 1 line fix r54203's typo (no DLONG case) ------------------------------------------------------------------------ r54205 | usa | 2016-03-20 21:18:28 +0900 (Sun, 20 Mar 2016) | 3 lines * internal.h (rb_int128t2big): declare only when HAVE_INT128_T. fixed a compile error with VC++ introduced at r54203. ------------------------------------------------------------------------ r54204 | nobu | 2016-03-20 20:26:17 +0900 (Sun, 20 Mar 2016) | 1 line time.c (mul): fix missing return. ------------------------------------------------------------------------ r54203 | naruse | 2016-03-20 20:10:43 +0900 (Sun, 20 Mar 2016) | 12 lines * internal.h (DLONG): defined if long is 32bit (and LONG_LONG is 64bit; but LONG_LONG is always defined as 64bit), or there's int128_t. * internal.h (DL2NUM): defined if DLONG is defined. * internal.h (rb_fix_mul_fix): defined for `Fixnum * Fixnum`. * insns.def (opt_mul): use rb_fix_mul_fix(). * numeric.c (fix_mul): ditto. * time.c (mul): ditto. ------------------------------------------------------------------------ r54202 | nobu | 2016-03-20 19:09:14 +0900 (Sun, 20 Mar 2016) | 4 lines bignum.c: micro optimization * bignum.c (rb_big_cmp): micro optimization of Fixnum comparison. as SIGNED_VALUE and Fixnum have same sign-bits and same order. ------------------------------------------------------------------------ r54201 | nobu | 2016-03-20 18:53:50 +0900 (Sun, 20 Mar 2016) | 5 lines numeric.c: optimize Fixnum<->Bignum comparisons * numeric.c (fix_gt, fix_ge, fix_lt, fix_le): optimize comparisons Fixnum against Bignum by rb_big_cmp in inversed order without new Bignum instance. ------------------------------------------------------------------------ r54200 | naruse | 2016-03-20 18:47:20 +0900 (Sun, 20 Mar 2016) | 5 lines * time.c (add): remove FIXABLE() which is in LONG2NUM(). * time.c (sub): ditto. * time.c (mul): ditto. ------------------------------------------------------------------------ r54199 | naruse | 2016-03-20 04:48:26 +0900 (Sun, 20 Mar 2016) | 4 lines * bignum.c (rb_big_cmp): reduce the code. * bignum.c (rb_big_eq): If normalized bignum is still bignum, it must be larger than fixnum. ------------------------------------------------------------------------ r54198 | mrkn | 2016-03-20 01:51:27 +0900 (Sun, 20 Mar 2016) | 1 line ChangeLog: fix typo [ci skip] ------------------------------------------------------------------------ r54197 | svn | 2016-03-20 01:08:53 +0900 (Sun, 20 Mar 2016) | 1 line * 2016-03-20 ------------------------------------------------------------------------ r54196 | mrkn | 2016-03-20 01:08:52 +0900 (Sun, 20 Mar 2016) | 4 lines * include/ruby/intern.h (rb_big_odd_p, rb_big_even_p): move to internal.h so that they are exported only for ruby itself. * internal.h (rb_big_odd_p, rb_big_even_p): ditto. ------------------------------------------------------------------------ r54195 | nobu | 2016-03-19 21:56:25 +0900 (Sat, 19 Mar 2016) | 5 lines test/unit.rb: defer failures in verbose mode * test/lib/test/unit.rb (Test::Unit::StatusLine#failed): defer failed messages until the end in verbose mode, to get rid of interleaving failures with progress messages. ------------------------------------------------------------------------ r54194 | nobu | 2016-03-19 21:53:36 +0900 (Sat, 19 Mar 2016) | 4 lines fix r54193 * numeric.c (fix_cmp): invert the result as the comarison is inverted. ------------------------------------------------------------------------ r54193 | naruse | 2016-03-19 19:06:57 +0900 (Sat, 19 Mar 2016) | 2 lines * numeric.c (fix_cmp): use rb_big_cmp if x is Fixnum and y is Bignum. rb_big_cmp handles such case smartly with big_norm. ------------------------------------------------------------------------ r54192 | mrkn | 2016-03-19 18:43:35 +0900 (Sat, 19 Mar 2016) | 5 lines * numeric.c (int_to_f): raise NotImplementedError when a receiver class is unknown. * test/-ext-/integer/test_my_integer.rb (test_my_integer_to_f): modify a test for the above change. ------------------------------------------------------------------------ r54191 | mrkn | 2016-03-19 18:29:29 +0900 (Sat, 19 Mar 2016) | 1 line ChangeLog: fix filename [ci skip] ------------------------------------------------------------------------ r54190 | mrkn | 2016-03-19 18:28:12 +0900 (Sat, 19 Mar 2016) | 10 lines * bignum.c (Bignum#<=>): remove it because they are unified with Integer#<=>. * numeric.c (Integer#<=>, Fixnum#<=>): move <=> method from Fixnum to Integer. * numeric.c (int_cmp): add this method for Integer#<=>. * test/-ext-/integer/test_my_integer.rb (test_my_integer_cmp): add a test to examine Integer#<=> for unknown subclasses. ------------------------------------------------------------------------ r54189 | nobu | 2016-03-19 14:46:20 +0900 (Sat, 19 Mar 2016) | 9 lines SyntaxError message at iseq compile * iseq.c (rb_iseq_compile_with_option): make the parser in mild error. * load.c (rb_load_internal0): ditto. * parse.y (yycompile0): return the error message within the error to be raised. [Feature #11951] * parse.y (parser_compile_error): accumulate error messages in the error_buffer. ------------------------------------------------------------------------ r54188 | nobu | 2016-03-19 11:49:21 +0900 (Sat, 19 Mar 2016) | 4 lines test_iseq.rb: shorten * test/ruby/test_iseq.rb (TestISeq): use the utility method to get rid of warnings and the alias to shorten. ------------------------------------------------------------------------ r54187 | naruse | 2016-03-19 04:06:33 +0900 (Sat, 19 Mar 2016) | 3 lines * time.c (LOCALTIME): organize #ifdefs. * time.c (GMTIME): define only ifndef HAVE_STRUCT_TM_TM_GMTOFF. ------------------------------------------------------------------------ r54186 | naruse | 2016-03-19 04:06:32 +0900 (Sat, 19 Mar 2016) | 4 lines * configure.in (rb_cv_member_struct_tm_tm_gmtoff): For Linux (glibc) define _BSD_SOURCE for time.h to define struct tm.tm_gmtoff. * time.c: define _BSD_SOURCE at the top. ------------------------------------------------------------------------ r54185 | nobu | 2016-03-19 03:09:52 +0900 (Sat, 19 Mar 2016) | 3 lines parse.y: mark debug_buffer * parse.y (parser_mark): mark debug_buffer. ------------------------------------------------------------------------ r54184 | odaira | 2016-03-19 03:05:47 +0900 (Sat, 19 Mar 2016) | 3 lines * test/-ext-/time/test_new.rb (test_timespec_new): change a gmtoff test to a better one that does not depend on whether the current time is in summer time or not. ------------------------------------------------------------------------ r54183 | nobu | 2016-03-19 00:38:10 +0900 (Sat, 19 Mar 2016) | 1 line ChangeLog: fix typo [ci skip] ------------------------------------------------------------------------ r54182 | svn | 2016-03-19 00:02:46 +0900 (Sat, 19 Mar 2016) | 1 line * 2016-03-19 ------------------------------------------------------------------------ r54181 | mrkn | 2016-03-19 00:02:45 +0900 (Sat, 19 Mar 2016) | 4 lines * bignum.c (rb_big_to_f, Bignum#to_f): removed them because they are unified with int_to_f and Integer#to_f. * numeric.c (int_to_f): treat Bignum values directly. ------------------------------------------------------------------------ r54180 | svn | 2016-03-18 23:52:48 +0900 (Fri, 18 Mar 2016) | 1 line * properties. ------------------------------------------------------------------------ r54179 | mrkn | 2016-03-18 23:52:46 +0900 (Fri, 18 Mar 2016) | 15 lines * numeric.c (int_to_f, fix_to_f): rename fix_to_f to int_to_f, and add treatment for subclasses which don't have definitions of to_f method. * numeric.c (Integer#to_f, Fixnum#to_f): move to_f method from Fixnum to Integer. * ext/-test-/integer/my_integer.rb: define helper class for testing to_f method for a subclass of Integer. * ext/-test-/integer/extconf.rb: ditto. * ext/-test-/integer/init.c: ditto. * test/-ext-/integer/test_my_integer.rb: examine to_f method for a subclass of Integer. ------------------------------------------------------------------------ r54178 | mrkn | 2016-03-18 22:33:42 +0900 (Fri, 18 Mar 2016) | 3 lines * include/ruby/intern.h (rb_big_hash): Move to internal.h. * internal.h: ditto. ------------------------------------------------------------------------ r54177 | mrkn | 2016-03-18 22:11:09 +0900 (Fri, 18 Mar 2016) | 4 lines * bignum.c (Bignum#eql?): remove its definition because it is unified with Numeric#eql?. * numeric.c (num_eql): treat Bignum values directly. ------------------------------------------------------------------------ r54176 | mrkn | 2016-03-18 21:57:40 +0900 (Fri, 18 Mar 2016) | 4 lines * bignum.c (rb_big_to_s, Bignum#to_s): remove its definition because it is unified with Integer#to_s. * numeric.c (int_to_s): treat Bignum values directly. ------------------------------------------------------------------------ r54175 | mrkn | 2016-03-18 21:33:28 +0900 (Fri, 18 Mar 2016) | 3 lines * numeric.c (int_to_s): Move from flo_to_s. * numeric.c (Integer#to_s): Move from Fixnum#to_s. ------------------------------------------------------------------------ r54174 | nobu | 2016-03-18 17:00:57 +0900 (Fri, 18 Mar 2016) | 4 lines test_file_exhaustive.rb: strict check test_dirname * test/ruby/test_file_exhaustive.rb (test_dirname): assert same as the parent directory, not ascendant directories. ------------------------------------------------------------------------ r54173 | nobu | 2016-03-18 16:37:07 +0900 (Fri, 18 Mar 2016) | 3 lines gc.c: fix r54115 * gc.c (gc_page_sweep): use the argument objspace. ------------------------------------------------------------------------ r54172 | nobu | 2016-03-18 16:22:26 +0900 (Fri, 18 Mar 2016) | 5 lines parse.y: Fix for nth_ref_max * parse.y (parse_numvar): NTH_REF must be less than a half of INT_MAX, as it is left-shifted to be ORed with back-ref flag. [ruby-core:74444] [Bug#12192] [Fix GH-1296] ------------------------------------------------------------------------ r54171 | nobu | 2016-03-18 15:59:10 +0900 (Fri, 18 Mar 2016) | 4 lines file.c: simplify rb_file_s_split * file.c (rb_file_s_split): use rb_file_dirname instead of rb_file_s_dirname with unused Qnil. ------------------------------------------------------------------------ r54170 | nobu | 2016-03-18 12:25:32 +0900 (Fri, 18 Mar 2016) | 3 lines gc.c: fix commit miss r54145 * gc.c (tick): fix missing close parenthesis. [Fix GH-1291] ------------------------------------------------------------------------ r54169 | sonots | 2016-03-18 10:26:12 +0900 (Fri, 18 Mar 2016) | 2 lines * ext/date/date_core.c (datetime_to_time): preserve timezone info [Bug #12189] [Fix GH-1295] ------------------------------------------------------------------------ r54168 | mrkn | 2016-03-18 10:22:38 +0900 (Fri, 18 Mar 2016) | 9 lines * bignum.c (rb_big_hash): make it public function to be available in other source files, and remove documentation comment for Bignum#hash. * bignum.c (Bignum#hash): remove its definition because it is unified with Object#hash. * include/ruby/intern.h (rb_big_hash): add a prototype declaration. * hash.c (any_hash): treat Bignum values directly. ------------------------------------------------------------------------ r54167 | sonots | 2016-03-18 02:46:22 +0900 (Fri, 18 Mar 2016) | 3 lines * lib/time.rb (parse, strptime): Fix Time.parse/strptime does not have compatibility with DateTime.parse/strptime in terms of parsing timezone [Bug #12190] [Fix GH-1297] ------------------------------------------------------------------------ r54166 | mrkn | 2016-03-18 02:17:08 +0900 (Fri, 18 Mar 2016) | 2 lines * numeric.c (fix_zero_p, fix_even_p, fix_odd_p): remove needless functions. ------------------------------------------------------------------------ r54165 | mrkn | 2016-03-18 02:15:33 +0900 (Fri, 18 Mar 2016) | 3 lines * numeric.c (int_even_p): treat Fixnum and Bignum values directly. I forgot include this commit in the previous one. ------------------------------------------------------------------------ r54164 | mrkn | 2016-03-18 02:11:42 +0900 (Fri, 18 Mar 2016) | 12 lines * bignum.c (Bignum#even?, Bignum#odd?): remove definitions because they are unified with Integer#even? and Integer#odd?. * numeric.c (Fixnum#zero?, Fixnum#even?, Fixnum#odd?): remove definitions because they are unified with Numeric#zero?, Integer#even?, and Integer#odd?. * numeric.c (num_zero_p, int_even_p, int_odd_p): treat Fixnum and Bignum values directly. * test/ruby/test_integer.rb (test_odd_p_even_p): remove meaningless test case. ------------------------------------------------------------------------ r54163 | mrkn | 2016-03-18 02:07:29 +0900 (Fri, 18 Mar 2016) | 5 lines * bignum.c (rb_big_even_p, rb_big_odd_p): make them public functions to be available in other source files. * include/ruby/intern.h (rb_big_even_p, rb_big_odd_p): add prototype declarations. ------------------------------------------------------------------------ r54162 | akr | 2016-03-18 00:27:05 +0900 (Fri, 18 Mar 2016) | 4 lines * enum.c (ary_inject_op): Implement the specialized code for sum of float numbers. ------------------------------------------------------------------------ r54161 | svn | 2016-03-18 00:18:59 +0900 (Fri, 18 Mar 2016) | 1 line * 2016-03-18 ------------------------------------------------------------------------ r54160 | svn | 2016-03-18 00:18:59 +0900 (Fri, 18 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54159 | mame | 2016-03-18 00:18:59 +0900 (Fri, 18 Mar 2016) | 2 lines * numeric.c (num_step): use rb_equal for zero check. rb_num_coerce_cmp created an object which caused extra overhead. ------------------------------------------------------------------------ r54158 | nobu | 2016-03-17 22:21:36 +0900 (Thu, 17 Mar 2016) | 4 lines ruby.h: remove RB_GC_GUARD_PTR * include/ruby/ruby.h (RB_GC_GUARD_PTR): remove intermediate macro, and expand for each RB_GC_GUARD. [Fix GH-1293] ------------------------------------------------------------------------ r54157 | nobu | 2016-03-17 22:19:02 +0900 (Thu, 17 Mar 2016) | 4 lines compile.c: strict condition * compile.c (iseq_specialized_instruction): specialize only concatenated newarray and send, no labels and no adjusts. ------------------------------------------------------------------------ r54156 | nobu | 2016-03-17 22:08:35 +0900 (Thu, 17 Mar 2016) | 4 lines compile.c: move newarray specialization * compile.c (iseq_specialized_instruction): move specialization for opt_newarray_max/min from translation phase. ------------------------------------------------------------------------ r54155 | mame | 2016-03-17 21:52:47 +0900 (Thu, 17 Mar 2016) | 1 line * array.c, enum.c: make rdoc format consistent. ------------------------------------------------------------------------ r54154 | mame | 2016-03-17 21:49:19 +0900 (Thu, 17 Mar 2016) | 1 line * NEWS: add Array#max, #min, and the optimization. [Feature #12172] ------------------------------------------------------------------------ r54153 | mame | 2016-03-17 21:47:31 +0900 (Thu, 17 Mar 2016) | 5 lines * compile.c (NODE_CALL): add optimization shortcut for Array#max/min. Now `[x, y].max` is optimized so that a temporal array object is not created in some condition. * insns.def (opt_newarray_max, opt_newarray_min): added. ------------------------------------------------------------------------ r54152 | mame | 2016-03-17 21:37:20 +0900 (Thu, 17 Mar 2016) | 6 lines * array.c (rb_ary_max, rb_ary_min): implement Array#max and min with arguments. replace super call with rb_nmin_run. * enum.c (nmin_run): exported (as rb_nmin_run). * internal.h: added a prototype for rb_nmin_run. ------------------------------------------------------------------------ r54151 | mame | 2016-03-17 21:25:40 +0900 (Thu, 17 Mar 2016) | 2 lines * array.c (rb_ary_max, rb_ary_min): implement a block by itself instead of delegating Enumerable#max/min. ------------------------------------------------------------------------ r54150 | mame | 2016-03-17 21:14:21 +0900 (Thu, 17 Mar 2016) | 11 lines * array.c (rb_ary_max, rb_ary_min): Array#max and Array#min added. [Feature #12172] * internal.h (OPTIMIZED_CMP): moved from enum.c so that array.c can use it. * test/ruby/test_array.rb (test_max, test_min): tests for Array#max and Array#min. * test/ruby/test_enum.rb (test_max, test_min): revised a bit to test Enumerable#max and #min explicitly. ------------------------------------------------------------------------ r54149 | mame | 2016-03-17 21:03:48 +0900 (Thu, 17 Mar 2016) | 6 lines * internal.c: struct cmp_opt_data added for refactoring out a data structure for CMP_OPTIMIZABLE * array.c (struct ary_sort_data): use struct cmp_opt_data. * enum.c (struct min_t, max_t, min_max_t): use struct cmp_opt_data. ------------------------------------------------------------------------ r54148 | akr | 2016-03-17 20:55:58 +0900 (Thu, 17 Mar 2016) | 3 lines * enum.c (ary_inject_op): Extracted from enum_inject. ------------------------------------------------------------------------ r54147 | akr | 2016-03-17 18:50:19 +0900 (Thu, 17 Mar 2016) | 8 lines * enum.c (enum_inject): Implement the specialized code for sum of integers including Bignums. * internal.h (rb_fix_plus): Declared to be usable from enum_inject. * numeric.c (rb_fix_plus): Defined. ------------------------------------------------------------------------ r54146 | nobu | 2016-03-17 17:20:29 +0900 (Thu, 17 Mar 2016) | 4 lines thread_sync.c: Update rdoc for Queue [skip ci] * thread_sync.c: [DOC] Update documentation for Queue class description. [Fix GH-1292] ------------------------------------------------------------------------ r54145 | nobu | 2016-03-17 17:14:53 +0900 (Thu, 17 Mar 2016) | 10 lines gc.c: tick for POWER arch * gc.c (tick): Use __builtin_ppc_get_timebase for POWER arch. [Fix GH-1291] This gives a little performance improvement user system total real Before: 20.870000 0.000000 20.870000 ( 20.893959) After: 20.720000 0.000000 20.720000 ( 20.733970) ------------------------------------------------------------------------ r54144 | naruse | 2016-03-17 15:01:11 +0900 (Thu, 17 Mar 2016) | 15 lines * lib/securerandom.rb (gen_random): to avoid blocking on Windows. On Windows OpenSSL RAND_bytes (underlying implementation is RAND_poll in crypto/rand/rand_win.c) may be blocked at NetStatisticsGet. https://wiki.openssl.org/index.php/Random_Numbers#Windows_Issues Instead of this, use Random.raw_seed directory (whose implementation CryptGenRandom is one of the source of entropy of RAND_poll on Windows). https://wiki.openssl.org/index.php/Random_Numbers Note: CryptGenRandom function is PRNG and doesn't check its entropy, so it won't block. [Bug #12139] https://msdn.microsoft.com/ja-jp/library/windows/desktop/aa379942.aspx https://tools.ietf.org/html/rfc4086#section-7.1.3 https://eprint.iacr.org/2007/419.pdf http://www.cs.huji.ac.il/~dolev/pubs/thesis/msc-thesis-leo.pdf ------------------------------------------------------------------------ r54143 | nobu | 2016-03-17 14:47:44 +0900 (Thu, 17 Mar 2016) | 3 lines compile.c: bit flag * compile.c (LABEL): turn `set` flag a bit field. ------------------------------------------------------------------------ r54142 | nobu | 2016-03-17 14:22:57 +0900 (Thu, 17 Mar 2016) | 4 lines assertions.rb: fix result of assert_nothing_raised * test/lib/test/unit/assertions.rb (assert_nothing_raised): do not discard the result of the given block. ------------------------------------------------------------------------ r54141 | nobu | 2016-03-17 13:31:10 +0900 (Thu, 17 Mar 2016) | 5 lines test_optimization.rb: tailcall * test/ruby/test_optimization.rb (TestRubyOptimization.tailcall): helper method to compile methods with tailcall optimization enabled. ------------------------------------------------------------------------ r54140 | duerst | 2016-03-17 12:09:00 +0900 (Thu, 17 Mar 2016) | 4 lines * enc/unicode.c: Fixed two macro definitions. * test/ruby/enc/test_case_mapping.rb: Test cases that detected the above bugs. ------------------------------------------------------------------------ r54139 | nobu | 2016-03-17 11:36:28 +0900 (Thu, 17 Mar 2016) | 5 lines socket/option.c: accurate condition * ext/socket/option.c (inspect_tcpi_msec): more accurate condition for TCPI msec member inspection function. [ruby-core:74388] [Bug #12185] ------------------------------------------------------------------------ r54138 | nobu | 2016-03-17 10:23:03 +0900 (Thu, 17 Mar 2016) | 4 lines test_marshal.rb: assert bad link * test/ruby/test_marshal.rb (test_marshal_load_r_prepare_reference_crash): assert an ArgumentError exception at a bad link. ------------------------------------------------------------------------ r54137 | odaira | 2016-03-17 08:20:14 +0900 (Thu, 17 Mar 2016) | 3 lines * test/-ext-/time/test_new.rb (test_timespec_new): Time#gmtoff values are the same only when both or neither of the Time objects are in summer time (daylight-saving time). ------------------------------------------------------------------------ r54136 | drbrain | 2016-03-17 07:18:12 +0900 (Thu, 17 Mar 2016) | 3 lines * marshal.c (r_object0): raise ArgumentError when linking to undefined object. ------------------------------------------------------------------------ r54135 | mrkn | 2016-03-17 00:53:08 +0900 (Thu, 17 Mar 2016) | 1 line * test/ruby/test_bignum.rb: Make sure to use Bignum values in the tests. ------------------------------------------------------------------------ r54134 | svn | 2016-03-17 00:04:11 +0900 (Thu, 17 Mar 2016) | 1 line * 2016-03-17 ------------------------------------------------------------------------ r54133 | nobu | 2016-03-17 00:04:11 +0900 (Thu, 17 Mar 2016) | 4 lines transcode-tblgen.rb: chomp invalid line * tool/transcode-tblgen.rb (citrus_decode_mapsrc): remove newline from invalid line in exception messages. ------------------------------------------------------------------------ r54132 | nobu | 2016-03-16 23:51:40 +0900 (Wed, 16 Mar 2016) | 4 lines transcode-tblgen.rb: binary mode * tool/transcode-tblgen.rb (citrus_decode_mapsrc): read in binary mode to deal with non-ascii characters. ------------------------------------------------------------------------ r54131 | nobu | 2016-03-16 23:10:27 +0900 (Wed, 16 Mar 2016) | 5 lines parse.y: symbol literals for alias/undef * defs/keywords (alias, undef): symbol literals are allowed. * parse.y (parse_percent): should parse symbol literals for alias and undef. [ruby-dev:47681] [Bug #8851] ------------------------------------------------------------------------ r54130 | svn | 2016-03-16 21:42:16 +0900 (Wed, 16 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54129 | naruse | 2016-03-16 21:42:15 +0900 (Wed, 16 Mar 2016) | 1 line * enc/trans/JIS: update Unicode's notice. [Bug #11844] ------------------------------------------------------------------------ r54128 | nobu | 2016-03-16 20:03:38 +0900 (Wed, 16 Mar 2016) | 4 lines proc.c: fail symbol proc binding * proc.c (proc_binding): proc from symbol can not make a binding. [ruby-core:74100] [Bug #12137] ------------------------------------------------------------------------ r54127 | duerst | 2016-03-16 18:42:45 +0900 (Wed, 16 Mar 2016) | 2 lines * test/ruby/enc/test_case_mapping.rb: Fixed and activated a test for Cherokee. ------------------------------------------------------------------------ r54126 | svn | 2016-03-16 17:58:57 +0900 (Wed, 16 Mar 2016) | 1 line * 2016-03-16 ------------------------------------------------------------------------ r54125 | duerst | 2016-03-16 17:58:56 +0900 (Wed, 16 Mar 2016) | 2 lines * test/ruby/enc/test_case_mapping.rb: Fixed a logical error. ------------------------------------------------------------------------ r54124 | duerst | 2016-03-16 17:57:34 +0900 (Wed, 16 Mar 2016) | 4 lines * test/ruby/enc/test_case_mapping.rb: Adding tests for Cherokee. One test not yet working. (with Kimihito Matsui) ------------------------------------------------------------------------ r54123 | duerst | 2016-03-16 15:44:05 +0900 (Wed, 16 Mar 2016) | 4 lines * test/ruby/enc/test_case_mapping.rb: Adding tests for actual Unicode case mapping. Fixing some aliasing issues. (with Kimihito Matsui) ------------------------------------------------------------------------ r54122 | akr | 2016-03-15 21:53:06 +0900 (Tue, 15 Mar 2016) | 4 lines * enum.c (enum_inject): Consider redefinition of Fixnum#+. [ruby-dev:49510] [Bug#12178] Reported by usa. ------------------------------------------------------------------------ r54121 | kazu | 2016-03-15 21:47:18 +0900 (Tue, 15 Mar 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54120 | akr | 2016-03-15 20:42:23 +0900 (Tue, 15 Mar 2016) | 3 lines * enum.c (enum_inject): Implement the specialied code for :+ operator for Fixnums. ------------------------------------------------------------------------ r54119 | akr | 2016-03-15 20:27:34 +0900 (Tue, 15 Mar 2016) | 3 lines * enum.c (enum_inject): Implement the specialized code for self is an array and a symbol operator is given. ------------------------------------------------------------------------ r54118 | duerst | 2016-03-15 16:29:51 +0900 (Tue, 15 Mar 2016) | 3 lines * enc/unicode.c: Eliminating common code. (with Kimihito Matsui) ------------------------------------------------------------------------ r54117 | duerst | 2016-03-15 16:17:09 +0900 (Tue, 15 Mar 2016) | 4 lines * enc/unicode.c: Expansion of some code repetition in preparation for elimination of common code pieces. (with Kimihito Matsui) ------------------------------------------------------------------------ r54116 | nobu | 2016-03-15 16:02:09 +0900 (Tue, 15 Mar 2016) | 4 lines gc.c: mark_stack_locations * gc.c (mark_stack_locations): extract the common part from mark_current_machine_context and rb_gc_mark_machine_stack. ------------------------------------------------------------------------ r54115 | nobu | 2016-03-15 15:42:29 +0900 (Tue, 15 Mar 2016) | 3 lines gc.c: rb_objspace_of * gc.c (rb_objspace_of): macro to get the objspace from a thread. ------------------------------------------------------------------------ r54114 | nobu | 2016-03-15 15:42:27 +0900 (Tue, 15 Mar 2016) | 4 lines gc.c: expand a local macro * gc.c (mark_current_machine_context, rb_gc_mark_machine_stack): expand rb_gc_mark_locations local macro. ------------------------------------------------------------------------ r54113 | svn | 2016-03-15 13:49:25 +0900 (Tue, 15 Mar 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r54112 | duerst | 2016-03-15 13:49:24 +0900 (Tue, 15 Mar 2016) | 4 lines * enc/unicode.c: Additional macros and code to use mapping data in CaseMappingSpecials array. (with Kimihito Matsui) ------------------------------------------------------------------------ r54111 | nobu | 2016-03-15 13:41:24 +0900 (Tue, 15 Mar 2016) | 4 lines internal.h: private rb_gc_mark_global_tbl * internal.h (rb_gc_mark_global_tbl): should be private, but was accidentally exported. ------------------------------------------------------------------------ r54110 | hsbt | 2016-03-15 12:51:19 +0900 (Tue, 15 Mar 2016) | 3 lines * doc/extension.ja.rdoc: Fix RDoc markup in doc/extension*.rdoc. [ci skip][Bug #12143][ruby-core:74143] * doc/extension.rdoc: ditto. ------------------------------------------------------------------------ r54109 | hsbt | 2016-03-15 09:56:45 +0900 (Tue, 15 Mar 2016) | 2 lines * time.c: Minor typo in Time#dst? documentation. [ci skip][fix GH-1290] ------------------------------------------------------------------------ r54108 | nobu | 2016-03-15 09:47:46 +0900 (Tue, 15 Mar 2016) | 5 lines test_marshal.rb: use assert_ruby_status * test/ruby/test_marshal.rb (test_marshal_load_extended_class_crash): use assert_ruby_status to deal with signals, core dump and diagnostic reports. ------------------------------------------------------------------------ r54107 | nobu | 2016-03-15 09:28:17 +0900 (Tue, 15 Mar 2016) | 4 lines test_rubyoptions.rb: VERSION_PATTERN * test/ruby/test_rubyoptions.rb (VERSION_PATTERN): make the pattern at loading, and escape regexp meta characters. ------------------------------------------------------------------------ r54106 | headius | 2016-03-15 04:39:24 +0900 (Tue, 15 Mar 2016) | 2 lines * test/ruby/test_rubyoptions.rb (test_disable): add tests for --disable-gems and --disable-did_you_mean. ------------------------------------------------------------------------ r54105 | drbrain | 2016-03-15 03:36:14 +0900 (Tue, 15 Mar 2016) | 2 lines * marshal.c (r_object0): Fix Marshal crash for corrupt extended object. ------------------------------------------------------------------------ r54104 | svn | 2016-03-15 01:24:05 +0900 (Tue, 15 Mar 2016) | 1 line * 2016-03-15 ------------------------------------------------------------------------ r54103 | headius | 2016-03-15 01:24:04 +0900 (Tue, 15 Mar 2016) | 2 lines * test/ruby/test_rubyoptions.rb: make version matching support JRuby's version output. ------------------------------------------------------------------------ r54102 | naruse | 2016-03-14 19:14:48 +0900 (Mon, 14 Mar 2016) | 36 lines * bignum.c (big2str_2bdigits): reduce div instruction. Fix the code so that C compiler unify div instructions of `%` and `/`. Before: 4291b0: 48 89 f0 mov %rsi,%rax 4291b3: 31 d2 xor %edx,%edx 4291b5: 48 83 ef 01 sub $0x1,%rdi 4291b9: 48 f7 f1 div %rcx # <---- ! 4291bc: 41 0f b6 04 11 movzbl (%r9,%rdx,1),%eax 4291c1: 31 d2 xor %edx,%edx 4291c3: 41 88 04 38 mov %al,(%r8,%rdi,1) 4291c7: 48 63 4b 04 movslq 0x4(%rbx),%rcx 4291cb: 48 89 f0 mov %rsi,%rax 4291ce: 48 f7 f1 div %rcx # <---- ! 4291d1: 48 89 c6 mov %rax,%rsi 4291d4: 48 85 ff test %rdi,%rdi 4291d7: 75 d7 jne 4291b0 <big2str_2bdigits+0x50> 4291d9: 48 63 6b 10 movslq 0x10(%rbx),%rbp 4291dd: 48 01 6b 20 add %rbp,0x20(%rbx) 4291e1: 48 8b 44 24 48 mov 0x48(%rsp),%rax 4291e6: 64 48 33 04 25 28 00 xor %fs:0x28,%rax After: 4291b0: 48 63 73 04 movslq 0x4(%rbx),%rsi 4291b4: 31 d2 xor %edx,%edx 4291b6: 48 83 e9 01 sub $0x1,%rcx 4291ba: 48 f7 f6 div %rsi # <---- ! 4291bd: 41 0f b6 14 10 movzbl (%r8,%rdx,1),%edx 4291c2: 88 14 0f mov %dl,(%rdi,%rcx,1) 4291c5: 48 85 c9 test %rcx,%rcx 4291c8: 75 e6 jne 4291b0 <big2str_2bdigits+0x50> 4291ca: 48 63 6b 10 movslq 0x10(%rbx),%rbp 4291ce: 48 01 6b 20 add %rbp,0x20(%rbx) 4291d2: 48 8b 44 24 48 mov 0x48(%rsp),%rax 4291d7: 64 48 33 04 25 28 00 xor %fs:0x28,%rax ------------------------------------------------------------------------ r54101 | duerst | 2016-03-14 18:39:54 +0900 (Mon, 14 Mar 2016) | 4 lines * include/ruby/oniguruma.h, enc/unicode.c: Adjusting flag assignments and macros to work with unified CaseMappingSpecials array. (with Kimihito Matsui) ------------------------------------------------------------------------ r54100 | nobu | 2016-03-14 16:53:39 +0900 (Mon, 14 Mar 2016) | 45 lines optimize named capture assignment * compile.c (compile_named_capture_assign): optimize named capture assignments, by replacing repeating global variable accesses with `dup`, and by returning the matched result instead of re-getting it from the MatchData. * parse.y (reg_named_capture_assign_gen): build just assignment nodes for the optimization. ex. `/(?<x>.)/ =~ "bar"` - old ``` 0000 putstring "bar" 0002 opt_regexpmatch1 /(?<x>.)/ 0004 pop 0005 getglobal $~ 0007 branchunless 25 0009 getglobal $~ 0011 putobject :x 0013 opt_aref <callinfo!mid:[], argc:1, ARGS_SIMPLE> 0016 setlocal_OP__WC__0 2 0018 getglobal $~ 0020 putobject_OP_INT2FIX_O_0_C_ 0021 opt_send_without_block <callinfo!mid:begin, argc:1, ARGS_SIMPLE> 0024 leave 0025 putobject nil 0027 setlocal_OP__WC__0 2 0029 putobject nil 0031 leave ``` - new ``` 0000 putstring "bar" 0002 opt_regexpmatch1 /(?<x>.)/ 0004 getglobal $~ 0006 dup 0007 branchunless 14 0009 putobject :x 0011 opt_aref <callinfo!mid:[], argc:1, ARGS_SIMPLE> 0014 setlocal_OP__WC__0 2 0016 leave ``` ------------------------------------------------------------------------ r54099 | nobu | 2016-03-14 16:03:01 +0900 (Mon, 14 Mar 2016) | 6 lines ruby.c: reduce fstat * file.c (ruby_is_fd_loadable): now return -1 if loadable but may block. * ruby.c (open_load_file): wait to read by the result of ruby_is_fd_loadable, without fstat. ------------------------------------------------------------------------ r54098 | naruse | 2016-03-14 13:41:16 +0900 (Mon, 14 Mar 2016) | 1 line * numeric.c (fix2str): improve r54092 like rb_int2big(). ------------------------------------------------------------------------ r54097 | normal | 2016-03-14 10:20:14 +0900 (Mon, 14 Mar 2016) | 8 lines document OpenSSL::SSL::SSLContext#setup as MT-unsafe On a cursory inspection, using rb_block_call for extra_chain_cert is thread-unsafe. There may be other instances of thread-unsafe behavior in this method, but one is enough. * ext/openssl/ossl_ssl.c (ossl_sslctx_setup): document as MT-unsafe [ruby-core:73803] [Bug #12069] ------------------------------------------------------------------------ r54096 | svn | 2016-03-14 01:26:05 +0900 (Mon, 14 Mar 2016) | 1 line * 2016-03-14 ------------------------------------------------------------------------ r54095 | nobu | 2016-03-14 01:26:04 +0900 (Mon, 14 Mar 2016) | 3 lines parse.y: adjust indent * parse.y: adjust indent and tabify spaces after tabs. ------------------------------------------------------------------------ r54094 | nobu | 2016-03-13 09:43:25 +0900 (Sun, 13 Mar 2016) | 4 lines win32.h: fix O_SHARE_DELETE * include/ruby/win32.h (O_SHARE_DELETE): change to fit Fixnum limit. [ruby-core:74285] [Bug #12171] ------------------------------------------------------------------------ r54093 | svn | 2016-03-13 09:15:49 +0900 (Sun, 13 Mar 2016) | 1 line * 2016-03-13 ------------------------------------------------------------------------ r54092 | nobu | 2016-03-13 09:15:48 +0900 (Sun, 13 Mar 2016) | 4 lines numeric.c: fix edge case * numeric.c (rb_fix2str): fix edge case, accidentally generated wrong Fixnum from LONG_MIN. ------------------------------------------------------------------------ r54091 | nobu | 2016-03-12 10:35:54 +0900 (Sat, 12 Mar 2016) | 3 lines unicode.c: off-by-one error * enc/unicode.c (CodePointListValidP): fix off-by-one error. ------------------------------------------------------------------------ r54090 | nobu | 2016-03-12 10:15:31 +0900 (Sat, 12 Mar 2016) | 4 lines unicode.c: boundary check * enc/unicode.c (CodePointListValidP): add pathological boundary check, for gcc 4.9. ------------------------------------------------------------------------ r54089 | nobu | 2016-03-12 09:50:29 +0900 (Sat, 12 Mar 2016) | 5 lines Malformed RDoc syntax in catch [ci skip] * vm_eval.c (rb_f_catch): [DOC] fix malformed RDoc syntax, "+...+" cannot enclose non-identifier characters. a patch by Sebastian S in [ruby-core:74278]. [Bug#12170] ------------------------------------------------------------------------ r54088 | svn | 2016-03-12 02:58:50 +0900 (Sat, 12 Mar 2016) | 1 line * 2016-03-12 ------------------------------------------------------------------------ r54087 | akr | 2016-03-12 02:58:49 +0900 (Sat, 12 Mar 2016) | 2 lines * test/lib/test/unit.rb: describe !/REGEXP/ in the help message. ------------------------------------------------------------------------ r54086 | nobu | 2016-03-11 17:03:11 +0900 (Fri, 11 Mar 2016) | 6 lines testunit: negative filter * test/lib/test/unit.rb (Options#non_options): make regexp name options prefixed with "!" negative filters. * common.mk (TEST_EXCLUDES): use negative filter to exclude memory leak tests. -x option excludes test files, not test methods. ------------------------------------------------------------------------ r54085 | duerst | 2016-03-11 16:11:27 +0900 (Fri, 11 Mar 2016) | 6 lines * enc/unicode/case-folding.rb, casefold.h: Streamlining approach to case mapping data not available from case folding by unifying all three cases (special title, special upper, special lower). * enc/unicode.c: Adjust macro names for above (macros are currently inactive). (with Kimihito Matsui) ------------------------------------------------------------------------ r54084 | nobu | 2016-03-11 12:30:25 +0900 (Fri, 11 Mar 2016) | 4 lines Revert r54082 "ruby.c: load in binary mode" DATA is expected to be text mode, but there is no ways to make a FD to text mode from binary mode. ------------------------------------------------------------------------ r54083 | svn | 2016-03-11 10:47:20 +0900 (Fri, 11 Mar 2016) | 1 line * 2016-03-11 ------------------------------------------------------------------------ r54082 | nobu | 2016-03-11 10:47:19 +0900 (Fri, 11 Mar 2016) | 4 lines ruby.c: load in binary mode * ruby.c (open_load_file): always open in binary mode if provided, parser deals with CRs. ------------------------------------------------------------------------ r54081 | nobu | 2016-03-10 17:34:18 +0900 (Thu, 10 Mar 2016) | 7 lines iseq.h: coverage_enabled flag * iseq.c (prepare_iseq_build): enable coverage by coverage_enabled option, not by parse_in_eval flag in the thread context. * iseq.h (rb_compile_option_struct): add coverage_enabled flag. * parse.y (yycompile0): set coverage_enabled flag if coverage array is made. ------------------------------------------------------------------------ r54080 | nobu | 2016-03-10 16:27:41 +0900 (Thu, 10 Mar 2016) | 3 lines node.c: no nd_compile_option unless set * node.c (dump_node): show nd_compile_option only when it is set. ------------------------------------------------------------------------ r54079 | nobu | 2016-03-10 16:27:40 +0900 (Thu, 10 Mar 2016) | 4 lines node.c: stringize before expansion * node.c (F_NODE, F_OPTION): stringize member names defined as macros before expansion. ------------------------------------------------------------------------ r54078 | nobu | 2016-03-10 16:06:39 +0900 (Thu, 10 Mar 2016) | 4 lines iseq.h: bit flags * iseq.h (rb_compile_option_struct): turn boolean flags to bit fields. ------------------------------------------------------------------------ r54077 | nobu | 2016-03-10 15:19:55 +0900 (Thu, 10 Mar 2016) | 4 lines node.c: hidden options hash * node.c (dump_option): nd_compile_option is a hidden hash object, cannot call inspect on it. ------------------------------------------------------------------------ r54076 | nobu | 2016-03-10 14:32:49 +0900 (Thu, 10 Mar 2016) | 4 lines iseq.c: set coverage at once * iseq.c (prepare_iseq_build): set coverage at once, not repeatedly resetting. ------------------------------------------------------------------------ r54075 | nobu | 2016-03-10 14:32:48 +0900 (Thu, 10 Mar 2016) | 4 lines thread.c: check type of coverage * thread.c (update_coverage): check type of coverage array not only if non-zero. ------------------------------------------------------------------------ r54074 | svn | 2016-03-10 09:55:37 +0900 (Thu, 10 Mar 2016) | 1 line * 2016-03-10 ------------------------------------------------------------------------ r54073 | odaira | 2016-03-10 09:55:37 +0900 (Thu, 10 Mar 2016) | 3 lines * test/socket/test_socket.rb (test_udp_recvmsg_truncation): AIX does not set the MSG_TRUNC flag for a message partially read by recvmsg(2) with the MSG_PEEK flag set. ------------------------------------------------------------------------ r54066 | kazu | 2016-03-09 22:30:13 +0900 (Wed, 09 Mar 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r54065 | nobu | 2016-03-09 19:39:21 +0900 (Wed, 09 Mar 2016) | 4 lines common.mk: dependency of prelude.o * common.mk (prelude.o): fix missing dependency on iseq.h, for rb_compile_option_t. ------------------------------------------------------------------------ r54064 | nobu | 2016-03-09 16:52:27 +0900 (Wed, 09 Mar 2016) | 4 lines driver.rb: unused variable * benchmark/driver.rb (BenchmarkDriver.load): remove unused variable. ------------------------------------------------------------------------ r54063 | ko1 | 2016-03-09 16:49:06 +0900 (Wed, 09 Mar 2016) | 2 lines * benchmark/driver.rb: fix my last commit (syntax error). ------------------------------------------------------------------------ r54062 | ko1 | 2016-03-09 16:42:32 +0900 (Wed, 09 Mar 2016) | 5 lines * benchmark/driver.rb: fix output messages. * benchmark/memory_wrapper.rb: use respond_to? because member? does not work well. ------------------------------------------------------------------------ r54061 | svn | 2016-03-09 16:22:28 +0900 (Wed, 09 Mar 2016) | 1 line * properties. ------------------------------------------------------------------------ r54060 | ko1 | 2016-03-09 16:22:27 +0900 (Wed, 09 Mar 2016) | 9 lines * benchmark/driver.rb: support memory usage benchmark. use `--measure-target=[target]'. Now, we can use the following targets: * real (default): real time which returns process time in sec. * peak: peak memory usage (physical memory) in bytes. * size: last memory usage (physical memory) in bytes. * benchmark/memory_wrapper.rb: ditto. ------------------------------------------------------------------------ r54059 | nobu | 2016-03-09 16:17:04 +0900 (Wed, 09 Mar 2016) | 3 lines hash.c: COPY_DEFAULT * hash.c (COPY_DEFAULT): new macro to copy the default value/proc. ------------------------------------------------------------------------ r54058 | nobu | 2016-03-09 16:17:03 +0900 (Wed, 09 Mar 2016) | 3 lines hash.c: SET_PROC_DEFAULT * hash.c (SET_PROC_DEFAULT): new macro to set the default proc. ------------------------------------------------------------------------ r54057 | nobu | 2016-03-09 16:17:03 +0900 (Wed, 09 Mar 2016) | 3 lines hash.c: SET_DEFAULT * hash.c (SET_DEFAULT): new macro to set the default value. ------------------------------------------------------------------------ r54056 | nobu | 2016-03-09 16:17:02 +0900 (Wed, 09 Mar 2016) | 4 lines hash.c: hash_dup for rb_hash_to_h * hash.c (rb_hash_to_h): share hash_dup to copy the contents and the default value/proc only. ------------------------------------------------------------------------ r54055 | nobu | 2016-03-09 16:17:01 +0900 (Wed, 09 Mar 2016) | 10 lines hash.c: make duplicated hash WB protected * hash.c (hash_alloc_flags): allocate new hash with the flags and the default value. * hash.c (hash_dup): duplicate with the flags and the default value. * hash.c (rb_hash_dup): make the duplicated hash write-barrier protected. ------------------------------------------------------------------------ r54054 | svn | 2016-03-09 15:05:54 +0900 (Wed, 09 Mar 2016) | 1 line * properties. ------------------------------------------------------------------------ r54053 | ko1 | 2016-03-09 15:05:53 +0900 (Wed, 09 Mar 2016) | 6 lines * benchmark/bm_vm3_gc_old_full.rb: add GC.start benchmark. * benchmark/bm_vm3_gc_old_immediate.rb: ditto. * benchmark/bm_vm3_gc_old_lazy.rb: ditto. ------------------------------------------------------------------------ r54052 | ko1 | 2016-03-09 15:02:18 +0900 (Wed, 09 Mar 2016) | 3 lines * benchmark/driver.rb: exit benchmarking if a benchmark process receives signals. ------------------------------------------------------------------------ r54051 | nobu | 2016-03-09 14:14:42 +0900 (Wed, 09 Mar 2016) | 4 lines test_hash.rb: tests for to_h * test/ruby/test_hash.rb: add tests for Hash#to_h, which copies default value/proc but not instance variables. ------------------------------------------------------------------------ r54050 | nobu | 2016-03-09 13:45:27 +0900 (Wed, 09 Mar 2016) | 4 lines hash.c: tbl_update_func * hash.c (tbl_update_func): extract function typedef from the declaration of tbl_update. ------------------------------------------------------------------------ r54049 | nobu | 2016-03-09 13:22:50 +0900 (Wed, 09 Mar 2016) | 6 lines memory_status.rb: independent of MiniTest * test/lib/memory_status.rb: make Memory::Status independent of MiniTest::Skip. * test/lib/test/unit/assertions.rb (assert_no_memory_leak): skip if Memory::Status is not available. ------------------------------------------------------------------------ r54048 | nobu | 2016-03-09 12:48:33 +0900 (Wed, 09 Mar 2016) | 4 lines memory_status.rb: remove unused values * test/lib/memory_status.rb: remove initial status values, which are not used. ------------------------------------------------------------------------ r54047 | odaira | 2016-03-09 09:28:41 +0900 (Wed, 09 Mar 2016) | 4 lines * test/io/wait/test_io_wait.rb (test_wait_readwrite_timeout): select(2) in AIX returns "readable" for the write-side fd of a pipe, so it is not possible to use a pipe to test the read-write timeout of IO#wait on AIX. ------------------------------------------------------------------------ r54046 | usa | 2016-03-09 08:00:32 +0900 (Wed, 09 Mar 2016) | 2 lines * win32/win32.c (rb_w32_write_console): remove unused variable. ------------------------------------------------------------------------ r54037 | headius | 2016-03-09 03:38:28 +0900 (Wed, 09 Mar 2016) | 2 lines * test/ruby/test_require.rb (test_require_with_loaded_features_pop): Only remove PATH so threads don't accidentally double-pop. ------------------------------------------------------------------------ r54035 | nobu | 2016-03-09 00:29:48 +0900 (Wed, 09 Mar 2016) | 5 lines vm_method.c: fix aliased original name * vm_method.c (rb_alias): the original name should be properly available method_added method, set the name before calling the hook. ------------------------------------------------------------------------ r54034 | nobu | 2016-03-09 00:21:23 +0900 (Wed, 09 Mar 2016) | 1 line ruby 2.0.0 has ended ------------------------------------------------------------------------ r54033 | nobu | 2016-03-09 00:21:22 +0900 (Wed, 09 Mar 2016) | 4 lines ruby.c: extra comma * ruby.c (feature_option, debug_option, dump_option): remove an extra comma from option lists. ------------------------------------------------------------------------ r54032 | svn | 2016-03-09 00:07:06 +0900 (Wed, 09 Mar 2016) | 1 line * 2016-03-09 ------------------------------------------------------------------------ r54031 | nobu | 2016-03-09 00:07:05 +0900 (Wed, 09 Mar 2016) | 4 lines logger.rb: kwd args * lib/logger.rb (Logger::LogDevice#initialize): define using keyword arguments. ------------------------------------------------------------------------ r54030 | headius | 2016-03-08 23:38:22 +0900 (Tue, 08 Mar 2016) | 5 lines test/ruby/test_array.rb: split permute + stack error tests out. * test/ruby/test_array.rb: split out the test for no stack error on large input for test_permutation, test_repeated_permutation, and test_repeated_combination, and make them all timeout:30. ------------------------------------------------------------------------ r54029 | naruse | 2016-03-08 18:15:18 +0900 (Tue, 08 Mar 2016) | 18 lines * intern.h (rb_divmod): assume compilers `/` and `%` comply C99 and reduce branching. If a compiler doesn't comply, add #ifdefs. * intern.h (rb_div): added for Ruby's behavior. * intern.h (rb_mod): added for Ruby's behavior. * insns.def (opt_div): use rb_div. * insns.def (opt_mod): use rb_mod. * numeric.c (fixdivmod): removed. * numeric.c (fix_divide): use rb_div. * numeric.c (fix_mod): use rb_mod. * numeric.c (fix_divmod): use rb_divmod. ------------------------------------------------------------------------ r54028 | naruse | 2016-03-08 17:54:38 +0900 (Tue, 08 Mar 2016) | 2 lines * insns.def (opt_mod): show its method name on ZeroDivisionError. [Bug #12158] ------------------------------------------------------------------------ r54027 | usa | 2016-03-08 17:34:35 +0900 (Tue, 08 Mar 2016) | 3 lines * win32/win32.c (rb_w32_write_console): now no need to check ERROR_CALL_NOT_IMPLEMENTED because it is for old Win9X. ------------------------------------------------------------------------ r54026 | usa | 2016-03-08 16:55:48 +0900 (Tue, 08 Mar 2016) | 3 lines * win32/win32.c (rb_w32_write_console): stop the VT100 emulation if the console supports it natively. ------------------------------------------------------------------------ r54025 | odaira | 2016-03-08 08:22:49 +0900 (Tue, 08 Mar 2016) | 5 lines * test/net/imap/test_imap.rb (test_idle_timeout): Because of the timeout specified in "imap.idle(0.2)", there is no gurantee that the server thread has done all the work before the client thread performs the assertions. It depends on the thread scheduling. Add checks to avoid false positives (on AIX, particularly). ------------------------------------------------------------------------ r54024 | nobu | 2016-03-08 04:39:32 +0900 (Tue, 08 Mar 2016) | 5 lines test_rubyoptions.rb: fix test * test/ruby/test_rubyoptions.rb (test_shebang): adjust only expected stderr as a warning, assertion has meaning on all platforms. ------------------------------------------------------------------------ r54023 | usa | 2016-03-08 00:44:34 +0900 (Tue, 08 Mar 2016) | 3 lines * ruby.c (warn_cr_in_shebang): meaningless check on DOSISH platforms. fixed a test failure introduced at r53998. ------------------------------------------------------------------------ r54022 | nagachika | 2016-03-08 00:28:57 +0900 (Tue, 08 Mar 2016) | 2 lines * ext/tk/lib/tkextlib/tcllib/tablelist_tile.rb: fix method name typo. [ruby-core:72513] [Bug #11893] The patch provided by Akira Matsuda. ------------------------------------------------------------------------ r54021 | nagachika | 2016-03-08 00:26:38 +0900 (Tue, 08 Mar 2016) | 2 lines * ext/tk/lib/tkextlib/tcllib/toolbar.rb: fix method name typo. [ruby-core:72511] [Bug #11891] The patch provided by Akira Matsuda. ------------------------------------------------------------------------ r54020 | nagachika | 2016-03-08 00:23:25 +0900 (Tue, 08 Mar 2016) | 2 lines * ext/tk/lib/tkextlib/blt/tree.rb: fix method name typo. [ruby-core:72510] [Bug #11890] The patch provided by Akira Matsuda. ------------------------------------------------------------------------ r54019 | svn | 2016-03-08 00:16:00 +0900 (Tue, 08 Mar 2016) | 1 line * 2016-03-08 ------------------------------------------------------------------------ r54018 | nagachika | 2016-03-08 00:15:59 +0900 (Tue, 08 Mar 2016) | 4 lines * ext/tk/lib/tk/menubar.rb: fix a typo in font name. [ruby-core:72505] [Bug #11886] The patch provided by Akira Matsuda. * ext/tk/sample/*.rb: ditto. ------------------------------------------------------------------------ r54017 | nobu | 2016-03-07 17:17:02 +0900 (Mon, 07 Mar 2016) | 4 lines .travis.yml: add branches [ci skip] * .travis.yml (branches): automatically run Travis on branches created with `git feature` or `git bug` commands. ------------------------------------------------------------------------ r54016 | nobu | 2016-03-07 15:24:46 +0900 (Mon, 07 Mar 2016) | 4 lines update-rubyspec: show latest commit * Makefile.in, win32/Makefile.sub (update-mspec, update-rubyspec): ensure the latest commits. ------------------------------------------------------------------------ r54015 | nobu | 2016-03-07 13:33:00 +0900 (Mon, 07 Mar 2016) | 5 lines class.c: err if superclass is 0 * class.c (rb_define_class, rb_define_class_id_under): raise ArgumentError if super is 0, deprecated behavior which has been warned long time. ------------------------------------------------------------------------ r54014 | nobu | 2016-03-07 13:28:32 +0900 (Mon, 07 Mar 2016) | 4 lines internal.h: functions for class internals * internal.h: move function declarations for class internals from include/ruby/intern.h. ------------------------------------------------------------------------ r54013 | nobu | 2016-03-07 10:58:09 +0900 (Mon, 07 Mar 2016) | 6 lines win32ole_event.c: use rb_write_error_str * ext/win32ole/win32ole_event.c (rescue_callback): use rb_write_error_str instead of rb_write_error, to respect the encoding and prevent the message from GC. * internal.h (rb_write_error_str): export. ------------------------------------------------------------------------ r54012 | nobu | 2016-03-07 10:05:36 +0900 (Mon, 07 Mar 2016) | 4 lines io.c: remove extra declarations * io.c (rb_io_set_encoding): remove extra declarations, rb_std{in,out,err} are defined in this file. ------------------------------------------------------------------------ r54011 | svn | 2016-03-07 01:43:51 +0900 (Mon, 07 Mar 2016) | 1 line * 2016-03-07 ------------------------------------------------------------------------ r54010 | odaira | 2016-03-07 01:43:50 +0900 (Mon, 07 Mar 2016) | 4 lines * test/ruby/test_process.rb (test_execopts_gid): Skip a test that is known to fail on AIX. AIX allows setgid to a supplementary group, but Ruby does not allow the "-e" option when setgid'ed, so the test does not work as intended. ------------------------------------------------------------------------ r54009 | nobu | 2016-03-06 22:43:42 +0900 (Sun, 06 Mar 2016) | 4 lines io.c: fix output of Array [ci skip] * io.c (rb_obj_display): [DOC] fix output of Array, as Array#to_s is same as Array#inspect since 1.9. ------------------------------------------------------------------------ r54008 | svn | 2016-03-06 17:34:51 +0900 (Sun, 06 Mar 2016) | 1 line * 2016-03-06 ------------------------------------------------------------------------ r54007 | nobu | 2016-03-06 17:34:50 +0900 (Sun, 06 Mar 2016) | 4 lines eval_error.c: trivial optimization * eval_error.c (warn_print): optimize warn_print with a string literal, with rb_write_error2 instead of rb_write_error. ------------------------------------------------------------------------ r54006 | nobu | 2016-03-05 10:33:04 +0900 (Sat, 05 Mar 2016) | 4 lines parse.y: optimize negate_lit * parse.y (negate_lit): optimize bignum, rational, and complex negation. ------------------------------------------------------------------------ r54005 | odaira | 2016-03-05 09:54:17 +0900 (Sat, 05 Mar 2016) | 3 lines * test/socket/test_addrinfo.rb (test_ipv6_address_predicates): IN6_IS_ADDR_V4COMPAT and IN6_IS_ADDR_V4MAPPED are broken on AIX, so skip related tests. ------------------------------------------------------------------------ r54004 | odaira | 2016-03-05 09:29:39 +0900 (Sat, 05 Mar 2016) | 11 lines Sat Mar 5 09:17:54 2016 Rei Odaira <Rei.Odaira@gmail.com> * test/rinda/test_rinda.rb (test_make_socket_ipv4_multicast): The fifth argument to getsockopt(2) should be modified to indicate the actual size of the value on return, but not in AIX. This is a know bug. Skip related tests. * test/rinda/test_rinda.rb (test_ring_server_ipv4_multicast): ditto. * test/rinda/test_rinda.rb (test_make_socket_unicast): ditto. * test/socket/test_basicsocket.rb (test_getsockopt): ditto. * test/socket/test_sockopt.rb (test_bool): ditto. ------------------------------------------------------------------------ r54003 | odaira | 2016-03-05 07:43:31 +0900 (Sat, 05 Mar 2016) | 4 lines * test/-ext-/float/test_nextafter.rb: In AIX, nextafter(+0.0,-0.0)=+0.0, and nextafter(-0.0,+0.0)=-0.0, but they should return -0.0 and +0.0, respectively. This is a known bug in nextafter(3) on AIX, so skip related tests. ------------------------------------------------------------------------ r54002 | odaira | 2016-03-05 07:20:56 +0900 (Sat, 05 Mar 2016) | 4 lines * test/zlib/test_zlib.rb (test_adler32_combine, test_crc32_combine): Skip two tests on AIX because zconf.h in zlib does not correctly recognize _LARGE_FILES in AIX. The problem was already reported to zlib, and skip these tests until it is fixed. ------------------------------------------------------------------------ r54001 | svn | 2016-03-05 03:14:19 +0900 (Sat, 05 Mar 2016) | 1 line * 2016-03-05 ------------------------------------------------------------------------ r54000 | odaira | 2016-03-05 03:14:18 +0900 (Sat, 05 Mar 2016) | 3 lines * thread_pthread.c (getstack): __pi_stacksize returned by pthread_getthrds_np() is wrong on AIX. Use __pi_stackend - __pi_stackaddr instead. ------------------------------------------------------------------------ r53999 | nobu | 2016-03-04 22:39:46 +0900 (Fri, 04 Mar 2016) | 4 lines securerandom.rb: remove to_s call * lib/securerandom.rb (gen_random): Array#join returns a String, no to_s is needed. ------------------------------------------------------------------------ r53998 | nobu | 2016-03-04 22:27:36 +0900 (Fri, 04 Mar 2016) | 4 lines ruby.c: warn_cr_in_shebang * ruby.c (load_file_internal): warn if shebang line ends with a carriage return. ------------------------------------------------------------------------ r53997 | ko1 | 2016-03-04 19:37:35 +0900 (Fri, 04 Mar 2016) | 3 lines * gc.c: use 2 bits with unsigned int for rb_objspace::flags::mode because it always returns 0 to 2 (non-negative value). ------------------------------------------------------------------------ r53996 | ko1 | 2016-03-04 18:53:03 +0900 (Fri, 04 Mar 2016) | 16 lines * gc.c: rename "enum gc_stat" to "enum gc_mode" because there is a same name (no related) function gc_stat(). Also gc_stat_* are renamed to gc_mode_*, gc_stat_transition() to gc_mode_transition(), rb_objspace::flags::stat is renamed to rb_objspace::flags::mode. Change rb_objspace::flags::mode from 2 bits to 3 bits because VC++ returns negative enum value with 2 bits. * gc.c (gc_mode): add a macro to access rb_objspace::flags::mode with verification code (verification is enabled only on RGENGC_CHECK_MODE > 0). * gc.c (gc_mode_set): same macro for setter. ------------------------------------------------------------------------ r53995 | nobu | 2016-03-04 14:19:12 +0900 (Fri, 04 Mar 2016) | 4 lines ruby.c: simplify * ruby.c (load_file_internal): simplify by local variables instead of repeating RSTRING macros. ------------------------------------------------------------------------ r53994 | nobu | 2016-03-04 13:34:17 +0900 (Fri, 04 Mar 2016) | 4 lines test_rubyoptions.rb: encoding option * test/ruby/test_rubyoptions.rb (test_shebang): use encoding option to assert_in_out_err. ------------------------------------------------------------------------ r53993 | nobu | 2016-03-04 12:53:43 +0900 (Fri, 04 Mar 2016) | 7 lines ruby.c: remove a magic number * ruby.c (load_file_internal): remove a magic number, which means the length of ruby_engine but the value is unknown in this file since the variable is in a different file now. instead, strstr should deal with it well, as far as ruby_engine does not contain a space and a hyphen. ------------------------------------------------------------------------ r53992 | hsbt | 2016-03-04 09:29:40 +0900 (Fri, 04 Mar 2016) | 4 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.6.1. Please see entries of 2.6.0 and 2.6.1 on https://github.com/rubygems/rubygems/blob/master/History.txt [fix GH-1270] Patch by @segiddins ------------------------------------------------------------------------ r53991 | svn | 2016-03-04 06:05:45 +0900 (Fri, 04 Mar 2016) | 1 line * 2016-03-04 ------------------------------------------------------------------------ r53990 | headius | 2016-03-04 06:05:44 +0900 (Fri, 04 Mar 2016) | 2 lines * test/ruby/test_io_m17n.rb (test_each_codepoint_need_more): Bump timeout up to 10s for slower platforms and impls. ------------------------------------------------------------------------ r53989 | nobu | 2016-03-03 17:31:12 +0900 (Thu, 03 Mar 2016) | 4 lines parse.y: split nextc * parse.y (parser_nextline, parser_cr): split less frequent paths from parser_nextc. ------------------------------------------------------------------------ r53988 | nobu | 2016-03-03 16:42:32 +0900 (Thu, 03 Mar 2016) | 3 lines parse.y: cr_seen flag * parse.y (parser_params): turn last_cr_line into cr_seen flag. ------------------------------------------------------------------------ r53987 | nobu | 2016-03-03 14:09:02 +0900 (Thu, 03 Mar 2016) | 5 lines ostruct.rb: make internal methods private * lib/ostruct.rb (modifiable?, new_ostruct_member!, table!): rename methods for internal use with suffixes and make private, [ruby-core:71069] [Bug #11587] ------------------------------------------------------------------------ r53986 | svn | 2016-03-03 12:08:53 +0900 (Thu, 03 Mar 2016) | 1 line * 2016-03-03 ------------------------------------------------------------------------ r53985 | nobu | 2016-03-03 12:08:52 +0900 (Thu, 03 Mar 2016) | 4 lines test/unit: not return the cursor if verbose * test/lib/test/unit.rb (update_status): do not return the cursor if verbose mode, not results and times to overwrite test names. ------------------------------------------------------------------------ r53984 | nobu | 2016-03-02 16:28:50 +0900 (Wed, 02 Mar 2016) | 4 lines vm_eval.c: call method_missing by method entry * vm_eval.c (method_missing): call by found method entry and get rid of searching the same method entry twice. ------------------------------------------------------------------------ r53983 | nobu | 2016-03-02 16:18:31 +0900 (Wed, 02 Mar 2016) | 4 lines vm_eval.c: method_missing by method_missing * vm_eval.c (vm_call0_body): calling method_missing method is method_missing(). ------------------------------------------------------------------------ r53982 | nobu | 2016-03-02 16:03:22 +0900 (Wed, 02 Mar 2016) | 6 lines test/unit: return the cursor * test/lib/test/unit.rb (update_status): keep the cursor to the beginning of the line for each update, so that unexpected output like an error message will overwrite but not be concatenated to the status. ------------------------------------------------------------------------ r53981 | hsbt | 2016-03-02 15:19:18 +0900 (Wed, 02 Mar 2016) | 5 lines * lib/xmlrpc.rb: Removed broken parser named XMLScanStreamParser. It's not works with current Ruby version. [fix GH-1271][ruby-core:59588][Bug #9369] * lib/xmlrpc/config.rb: ditto. * lib/xmlrpc/parser.rb: ditto. ------------------------------------------------------------------------ r53980 | hsbt | 2016-03-02 15:12:51 +0900 (Wed, 02 Mar 2016) | 5 lines * lib/xmlrpc.rb: Removed broken parser named XMLTreeParser. Required gem of its parser didn't compile on newer Ruby versions. [fix GH-1271][ruby-core:59590][Bug #9370] * lib/xmlrpc/config.rb: ditto. * lib/xmlrpc/parser.rb: ditto. ------------------------------------------------------------------------ r53979 | svn | 2016-03-02 00:00:55 +0900 (Wed, 02 Mar 2016) | 1 line * 2016-03-02 ------------------------------------------------------------------------ r53978 | kazu | 2016-03-02 00:00:55 +0900 (Wed, 02 Mar 2016) | 1 line Fix pull request number [ci skip] ------------------------------------------------------------------------ r53977 | nobu | 2016-03-01 23:43:34 +0900 (Tue, 01 Mar 2016) | 5 lines vm_method.c: fix assertion * vm_method.c (prepare_callable_method_entry): assert same condition only once for each case, not twice for module instance method. ------------------------------------------------------------------------ r53976 | svn | 2016-03-01 11:26:45 +0900 (Tue, 01 Mar 2016) | 1 line * 2016-03-01 ------------------------------------------------------------------------ r53975 | nobu | 2016-03-01 11:26:44 +0900 (Tue, 01 Mar 2016) | 4 lines fileutils.rb: keyword arguments * lib/fileutils.rb: use keyword arguments instead of option hashes. ------------------------------------------------------------------------ r53974 | nobu | 2016-02-29 21:22:17 +0900 (Mon, 29 Feb 2016) | 4 lines fileutils.rb: LowMethods aliases * lib/fileutils.rb (LowMethods): make alias methods instead of eval for each methods. ------------------------------------------------------------------------ r53973 | nobu | 2016-02-29 17:36:30 +0900 (Mon, 29 Feb 2016) | 4 lines fileutils.rb: reduce private * lib/fileutils.rb (Verbose, NoWrite, DryRun): make overridden methods private by each one calls. ------------------------------------------------------------------------ r53972 | nobu | 2016-02-29 17:36:29 +0900 (Mon, 29 Feb 2016) | 4 lines fileutils.rb: reduce public * lib/fileutils.rb (Verbose, NoWrite, DryRun): make extended methods public by each one calls. ------------------------------------------------------------------------ r53971 | nobu | 2016-02-29 17:36:28 +0900 (Mon, 29 Feb 2016) | 3 lines fileutils.rb: unify method definition style * lib/fileutils.rb: Unify to coding-style for method definition. ------------------------------------------------------------------------ r53970 | nobu | 2016-02-29 16:51:15 +0900 (Mon, 29 Feb 2016) | 5 lines array.c: [DOC] remove trailing comma [ci skip] * array.c (rb_ary_push_m): [DOC] Remove trailing comma from Array#push example, as other Array examples doesn't put trailing comma. [Fix GH-1279] ------------------------------------------------------------------------ r53969 | nobu | 2016-02-29 16:31:56 +0900 (Mon, 29 Feb 2016) | 5 lines mkconfig.rb: cross_compiling option * common.mk, tool/mkconfig.rb: set cross_compiling option from Makefile, but not from rbconfig.rb, which is just going to be created by this command. ------------------------------------------------------------------------ r53968 | svn | 2016-02-29 14:54:25 +0900 (Mon, 29 Feb 2016) | 1 line * 2016-02-29 ------------------------------------------------------------------------ r53967 | nobu | 2016-02-29 14:54:24 +0900 (Mon, 29 Feb 2016) | 3 lines ruby-style.el: add an instruction to load [ci skip] ------------------------------------------------------------------------ r53966 | nobu | 2016-02-28 23:14:44 +0900 (Sun, 28 Feb 2016) | 3 lines configure.in: fold summary * configure.in: fold long lines in configuration summary ------------------------------------------------------------------------ r53965 | nobu | 2016-02-28 23:14:42 +0900 (Sun, 28 Feb 2016) | 4 lines configure.in: summary * configure.in: Add summary to end of configure output. [Fix GH-1277] ------------------------------------------------------------------------ r53964 | nobu | 2016-02-28 22:54:32 +0900 (Sun, 28 Feb 2016) | 4 lines configure.in: no leading spaces * configure.in (cflags, cppflags): remove unnecessary leading spaces. ------------------------------------------------------------------------ r53963 | svn | 2016-02-28 20:28:59 +0900 (Sun, 28 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53962 | seki | 2016-02-28 20:28:58 +0900 (Sun, 28 Feb 2016) | 4 lines * lib/drb/drb.rb (error_print): Add verbose failure messages and avoid infamous DRb::DRbConnError. [Feature #12101] ------------------------------------------------------------------------ r53961 | nobu | 2016-02-28 13:41:38 +0900 (Sun, 28 Feb 2016) | 9 lines NoMethodError#private_call? * error.c (nometh_err_initialize): add private_call? parameter. * error.c (nometh_err_private_call_p): add private_call? method, to tell if the exception raised in private form FCALL or VCALL. [Feature #12043] * vm_eval.c (make_no_method_exception): append private_call? argument. * vm_insnhelper.c (ci_missing_reason): copy FCALL flag. ------------------------------------------------------------------------ r53960 | nobu | 2016-02-28 10:39:30 +0900 (Sun, 28 Feb 2016) | 1 line test_exception.rb: split test_name_error_info ------------------------------------------------------------------------ r53959 | svn | 2016-02-28 10:20:40 +0900 (Sun, 28 Feb 2016) | 1 line * 2016-02-28 ------------------------------------------------------------------------ r53958 | nobu | 2016-02-28 10:20:39 +0900 (Sun, 28 Feb 2016) | 21 lines Clarify set intersection and union documentation * array.c (rb_ary_and): clarify that set intersection returns the unique elements common to both arrays. * array.c (rb_ary_or): clarify that union preserves the order from the given arrays. - Most know what intersection means, but saying the operation excludes duplicates could be misleading ([1] & [1], duplicates excluded, might mean a result of []). - Instead, saying intersection returns the unique elements common to both arrays is more concise and less ambiguous. - The set union's documentation was incomplete in its describing preservation of order. Saying union preserves the order of the original array neglects the idea that the order of the elements in both arrays, as given, will be preserved. - Instead, saying set union preserves the order from the given arrays (and adding an example) fully demonstrates the idea. [Fix GH-1273] [ci skip] ------------------------------------------------------------------------ r53957 | duerst | 2016-02-27 17:06:17 +0900 (Sat, 27 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Reducing size of TitleCase table by eliminating duplicates. (with Kimihito Matsui) ------------------------------------------------------------------------ r53956 | nobu | 2016-02-27 14:10:44 +0900 (Sat, 27 Feb 2016) | 5 lines test/unit: refine output in job_status=normal * test/lib/test/unit.rb (Test::Unit::StatusLine#jobs_status): show status of only changed woker, not to show same lines repeatedly, in normal job_status mode. ------------------------------------------------------------------------ r53955 | nobu | 2016-02-27 13:16:44 +0900 (Sat, 27 Feb 2016) | 13 lines test/unit: fix for the test * test/lib/test/unit.rb (_run_parallel): make sure retrying message is a separate line. * test/lib/test/unit.rb (_prepare_run): do not add Output if testing. * test/lib/test/unit.rb (Skipping#failed): defer showing reports when showing skips, to be sorted. * test/testunit/test_hideskip.rb (test_hideskip): fix assertion for output misordered by mixing output destinations. ------------------------------------------------------------------------ r53954 | nobu | 2016-02-27 11:01:57 +0900 (Sat, 27 Feb 2016) | 5 lines test/unit: refine output in verbose mode * test/lib/test/unit.rb (Test::Unit::StatusLine#_prepare_run): add StatusLine::Output even if job_status is not replace, to filter extra outputs and newlines. ------------------------------------------------------------------------ r53953 | nobu | 2016-02-27 10:56:44 +0900 (Sat, 27 Feb 2016) | 4 lines test/unit: add --jobs-status=none * test/lib/test/unit.rb (Test::Unit::StatusLine#setup_options): add :none to --jobs-status option. ------------------------------------------------------------------------ r53952 | svn | 2016-02-27 10:56:44 +0900 (Sat, 27 Feb 2016) | 1 line * 2016-02-27 ------------------------------------------------------------------------ r53951 | nobu | 2016-02-27 10:56:43 +0900 (Sat, 27 Feb 2016) | 4 lines test/unit: no newlines to be chomped * test/lib/test/unit.rb (Test::Unit::StatusLine::Output#print): matched part never contains a newline to be chomped. ------------------------------------------------------------------------ r53950 | nobu | 2016-02-26 16:18:26 +0900 (Fri, 26 Feb 2016) | 6 lines README.md: fix linked file name [ci skip] * README.md: fix linked file name, COPYING does not a suffix. [Fix GH-1265] * README.ja.md: update a link too. ------------------------------------------------------------------------ r53949 | nobu | 2016-02-26 14:41:37 +0900 (Fri, 26 Feb 2016) | 5 lines numeric.c: wrong type step should raise TypeError * numeric.c (num_step_scan_args): comparison String with Numeric should raise TypeError. it is an invalid type, but not a mismatch the number of arguments. [ruby-core:62430] [Bug #9810] ------------------------------------------------------------------------ r53948 | nobu | 2016-02-26 14:40:28 +0900 (Fri, 26 Feb 2016) | 5 lines doc: editor local variables [ci skip] * doc/extension.rdoc, doc/extension.ja.rdoc: add editor local variables, with commenting out by :enddoc: directives which are just ignored unless code object mode. [Bug #12111] ------------------------------------------------------------------------ r53947 | hsbt | 2016-02-26 12:26:55 +0900 (Fri, 26 Feb 2016) | 3 lines * doc/extension.ja.rdoc: removed rendering error caused by editor specific configuration on http://docs.ruby-lang.org/en/trunk/extension_rdoc.html . [Bug #12111][ruby-core:73990] ------------------------------------------------------------------------ r53946 | hsbt | 2016-02-26 11:25:40 +0900 (Fri, 26 Feb 2016) | 4 lines * lib/xmlrpc.rb: Removed references to NQXML. It's obsoleted parser. [fix GH-1245][ruby-core:59593][Feature #9371] * lib/xmlrpc/config.rb: ditto. * lib/xmlrpc/parser.rb: ditto. ------------------------------------------------------------------------ r53945 | hsbt | 2016-02-26 11:11:14 +0900 (Fri, 26 Feb 2016) | 2 lines * lib/tmpdir.rb: Unify to coding-style for method definition. [fix GH-1252] ------------------------------------------------------------------------ r53944 | hsbt | 2016-02-26 11:03:03 +0900 (Fri, 26 Feb 2016) | 2 lines * README.md: update markdown syntax for anchor tag. [fix GH-1265] Patch by @lukBarros ------------------------------------------------------------------------ r53943 | hsbt | 2016-02-26 10:57:58 +0900 (Fri, 26 Feb 2016) | 2 lines * lib/irb.rb: avoid to needless truncation when using back_trace_limit option. [fix GH-1205][ruby-core:72773][Bug #11969] ------------------------------------------------------------------------ r53942 | svn | 2016-02-26 08:23:31 +0900 (Fri, 26 Feb 2016) | 1 line * 2016-02-26 ------------------------------------------------------------------------ r53941 | tenderlove | 2016-02-26 08:23:30 +0900 (Fri, 26 Feb 2016) | 84 lines Reduce system calls by activating the `did_you_mean` gem. Activating the gem puts the gem on the load path, where simply requiring the file will search every gem that's installed until it can find a gem that contains the `did_you_mean` file. Calling RubyGems' `require` will search each installed gem until it can find one that contains the file it should require. This means that the more gems you have installed, the longer it can take to require that gem. To see this in action, lets compare the number of `stat` calls for a "bare require" vs the number of `stat` calls for a require that follows a gem activation by using these two programs: ``` [aaron@TC rubygems (master)]$ cat req_dym.rb begin require 'did_you_mean' rescue LoadError end [aaron@TC rubygems (master)]$ cat gem_dym.rb begin gem 'did_you_mean' require 'did_you_mean' rescue Gem::LoadError, LoadError end ``` The first program just requires the `did_you_mean` gem, where the second one activates the gem, then requires it. We can count the number of `stat` calls using `dtrace`: ``` [aaron@TC rubygems (master)]$ ruby -v ruby 2.3.0p0 (2015-12-25 revision 53290) [x86_64-darwin15] [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean req_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 283 [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean gem_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 13 ``` The "bare require" version does over 10x the number of stat calls compared to the "gem, then require" version. Of course the number for the first one depends on the number of gems you have installed that sort before the `did_you_mean` gem. Lets also look at trunk Ruby: ``` [aaron@TC rubygems (master)]$ ruby -v ruby 2.4.0dev (2016-02-25 trunk 53940) [x86_64-darwin15] [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean req_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 2325 [aaron@TC rubygems (master)]$ sudo dtrace -q -n 'syscall::stat*:entry { printf("%s\n", copyinstr(arg0)); }' -c`rbenv which ruby`" --disable-did_you_mean gem_dym.rb" | wc -l dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 dtrace: error on enabled probe ID 3 (ID 826: syscall::stat64:entry): invalid user access in action #1 at DIF offset 24 685 ``` This change will reduce the number of `stat` calls on trunk Ruby too, but since this installation doesn't have the `did_you_mean` gem, RubyGems is still reading every gem spec file so that it can raise a `Gem::LoadError` exception with a nice error message. If we can modify RubyGems a little, it may be possible to drop the number of stat calls even on a Ruby installation that doesn't have the `did_you_mean` gem. ------------------------------------------------------------------------ r53940 | nobu | 2016-02-25 21:36:25 +0900 (Thu, 25 Feb 2016) | 1 line eval_error.c: constify ------------------------------------------------------------------------ r53939 | nobu | 2016-02-25 21:36:24 +0900 (Thu, 25 Feb 2016) | 6 lines eval_error.c: remove warn_printf * eval_error.c (warn_printf): remove. * eval_error.c (error_pos_str): return error position string, split from error_pos. ------------------------------------------------------------------------ r53930 | duerst | 2016-02-25 19:04:59 +0900 (Thu, 25 Feb 2016) | 4 lines * enc/unicode/case-folding.rb: Adding possibility for debugging output for TitleCase table in casefold.h. (with Kimihito Matsui) ------------------------------------------------------------------------ r53928 | usa | 2016-02-25 18:54:11 +0900 (Thu, 25 Feb 2016) | 2 lines * test/ruby/test_process.rb (test_execopts_open_chdir_m17n_path): it's originally for Windows. should not ignore on the platform. ------------------------------------------------------------------------ r53919 | nobu | 2016-02-25 16:22:01 +0900 (Thu, 25 Feb 2016) | 4 lines eval_error.c: error position format * eval_error.c (error_print): use same error position format when no backtrace too. ------------------------------------------------------------------------ r53918 | svn | 2016-02-25 13:42:17 +0900 (Thu, 25 Feb 2016) | 1 line * 2016-02-25 ------------------------------------------------------------------------ r53917 | nobu | 2016-02-25 13:42:16 +0900 (Thu, 25 Feb 2016) | 6 lines eval_error.c: colon in message * eval_error.c (error_pos): include a clone after the position. * eval_error.c (error_print, error_handle): do not print a colon if the error position is unavailable. ------------------------------------------------------------------------ r53916 | svn | 2016-02-24 22:32:02 +0900 (Wed, 24 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53915 | duerst | 2016-02-24 22:32:01 +0900 (Wed, 24 Feb 2016) | 7 lines * include/ruby/oniguruma.h: Rearranging flag assignments and making space for titlecase indices; adding additional macros to add or extract titlecase index; adding comments for better documentation. * enc/unicode.c: Moving some macros to include/ruby/oniguruma.h; activating use of titlecase indices. (with Kimihito Matsui) ------------------------------------------------------------------------ r53914 | akr | 2016-02-24 21:30:20 +0900 (Wed, 24 Feb 2016) | 3 lines * random.c (limited_rand): Add a specialized path for the limit fits in 32 bit. ------------------------------------------------------------------------ r53913 | nobu | 2016-02-24 17:21:04 +0900 (Wed, 24 Feb 2016) | 9 lines parse without $. * io.c (rb_io_gets_internal): read one line from an IO without setting ARGF.lineno. * parse.y (lex_io_gets): use rb_io_gets_internal not to affect $. global variable. * ruby.c (load_file): no longer reset $. ------------------------------------------------------------------------ r53912 | nobu | 2016-02-24 11:42:40 +0900 (Wed, 24 Feb 2016) | 4 lines parse.y: hide compile_option * parse.y (parser_set_compile_option_flag): hide compile_option hash from ObjectSpace. ------------------------------------------------------------------------ r53911 | nobu | 2016-02-24 11:38:43 +0900 (Wed, 24 Feb 2016) | 4 lines vm_method.c: for hidden object * vm_method.c (rb_method_basic_definition_p): methods of hidden objects cannot be overridden, return TRUE. ------------------------------------------------------------------------ r53910 | nobu | 2016-02-24 11:20:45 +0900 (Wed, 24 Feb 2016) | 4 lines numeric.c: micro optimizations * numeric.c (flo_to_s, rb_fix2str): use rb_usascii_str_new instead of rb_usascii_str_new_cstr, when the length can be calculated. ------------------------------------------------------------------------ r53908 | svn | 2016-02-24 01:51:44 +0900 (Wed, 24 Feb 2016) | 1 line * 2016-02-24 ------------------------------------------------------------------------ r53907 | headius | 2016-02-24 01:51:43 +0900 (Wed, 24 Feb 2016) | 2 lines * test/ruby/test_exception.rb: fix bad spawn argument (multiple args in single) in test_thread_signal_location. ------------------------------------------------------------------------ r53906 | duerst | 2016-02-23 21:53:10 +0900 (Tue, 23 Feb 2016) | 5 lines * enc/unicode/case-folding.rb, casefold.h: Outputting actual titlecase data (new table, with indices from other tables). * enc/unicode.c: Ignoring titlecase data indices for the moment. (with Kimihito Matsui) ------------------------------------------------------------------------ r53905 | nobu | 2016-02-23 16:59:17 +0900 (Tue, 23 Feb 2016) | 4 lines iseq.h: remove trailing comma * iseq.h (iseq_mark_ary_index): get rid of trailing comma and name the magic number for iseq_mark_ary_create. ------------------------------------------------------------------------ r53904 | duerst | 2016-02-23 15:21:55 +0900 (Tue, 23 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Reading casing data from SpecialCasing.txt. (with Kimihito Matsui) ------------------------------------------------------------------------ r53903 | headius | 2016-02-23 11:03:37 +0900 (Tue, 23 Feb 2016) | 1 line Bump up timeout for slower-starting implementations/platforms. ------------------------------------------------------------------------ r53902 | headius | 2016-02-23 08:23:10 +0900 (Tue, 23 Feb 2016) | 2 lines * test/ruby/test_math.rb: use 64 bits in test_override_bignum_to_f to ensure it's a bignum on all impls. ------------------------------------------------------------------------ r53901 | headius | 2016-02-23 08:22:56 +0900 (Tue, 23 Feb 2016) | 5 lines * test/ruby/test_math.rb: override tests must always put to_f back Conflicts: test/ruby/test_math.rb ------------------------------------------------------------------------ r53900 | svn | 2016-02-23 08:22:39 +0900 (Tue, 23 Feb 2016) | 1 line * 2016-02-23 ------------------------------------------------------------------------ r53899 | headius | 2016-02-23 08:22:39 +0900 (Tue, 23 Feb 2016) | 2 lines * test/psych/test_emitter.rb: test_resizing_tags missing start_stream call, caused strict parsers like on JRuby to err. ------------------------------------------------------------------------ r53893 | nobu | 2016-02-22 23:54:31 +0900 (Mon, 22 Feb 2016) | 5 lines ruby.c: remove unnecessary context * ruby.c (process_options): remove unnecessary context. rb_parser_append_print and rb_parser_while_loop just append some nodes and do not depend on the context. ------------------------------------------------------------------------ r53892 | kazu | 2016-02-22 20:00:38 +0900 (Mon, 22 Feb 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53891 | duerst | 2016-02-22 18:34:34 +0900 (Mon, 22 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Adding flag for title-case, not yet operational. (with Kimihito Matsui) ------------------------------------------------------------------------ r53890 | duerst | 2016-02-22 18:17:43 +0900 (Mon, 22 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Fixed bug that avoided inclusion of compatibility characters in uppper-/lower-case mappings. (with Kimihito Matsui) ------------------------------------------------------------------------ r53889 | svn | 2016-02-22 16:15:57 +0900 (Mon, 22 Feb 2016) | 1 line * 2016-02-22 ------------------------------------------------------------------------ r53888 | nobu | 2016-02-22 16:15:57 +0900 (Mon, 22 Feb 2016) | 4 lines vm_core.h: CoreDataFromValue * vm_core.h (CoreDataFromValue): split as an expression from GetCoreDataFromValue, which can be a statement only. ------------------------------------------------------------------------ r53887 | nobu | 2016-02-22 16:15:56 +0900 (Mon, 22 Feb 2016) | 4 lines internal.h: shortcut macros * internal.h (RRATIONAL_SET_{NUM,DEN}): shortcut macros for internal only. ------------------------------------------------------------------------ r53886 | nobu | 2016-02-21 19:42:40 +0900 (Sun, 21 Feb 2016) | 1 line vm.c (vm_cref_new0): adjust indent [ci skip] ------------------------------------------------------------------------ r53885 | nobu | 2016-02-21 13:57:57 +0900 (Sun, 21 Feb 2016) | 4 lines cgi/escape: Optimize CGI.unescape * cgi/escape/escape.c: Optimize CGI.unescape performance by C ext for ASCII-compatible encodings. [Fix GH-1250] ------------------------------------------------------------------------ r53884 | nobu | 2016-02-21 13:57:35 +0900 (Sun, 21 Feb 2016) | 4 lines cgi/escape: Optimize CGI.unescapeHTML * cgi/escape/escape.c: Optimize CGI.unescapeHTML performance by C ext for ASCII-compatible encodings. [Fix GH-1242] ------------------------------------------------------------------------ r53883 | svn | 2016-02-21 13:52:05 +0900 (Sun, 21 Feb 2016) | 1 line * 2016-02-21 ------------------------------------------------------------------------ r53882 | nobu | 2016-02-21 13:52:04 +0900 (Sun, 21 Feb 2016) | 3 lines NEWS: update [ci skip] * NEWS: change of Symbol#match. [Bug #11991] ------------------------------------------------------------------------ r53881 | nobu | 2016-02-20 18:36:08 +0900 (Sat, 20 Feb 2016) | 5 lines test_dir_m17n.rb: fix ASCII-8BIT env * test/ruby/test_dir_m17n.rb (test_glob_encoding): get rid of conversion when LC_ALL=C and filesystem encoding is ASCII-8BIT. [ruby-core:73868] [Bug #12081] ------------------------------------------------------------------------ r53880 | normal | 2016-02-20 15:39:14 +0900 (Sat, 20 Feb 2016) | 3 lines doc/extension.rdoc: update paths for defs/ directory These files were moved in r19844 ------------------------------------------------------------------------ r53879 | nobu | 2016-02-20 14:44:52 +0900 (Sat, 20 Feb 2016) | 4 lines Fix Module#module_eval rdoc [ci skip] * vm_eval.c (rb_mod_module_eval): [DOC] Fix documentation signature for Module#module_eval. [Fix GH-1258] ------------------------------------------------------------------------ r53878 | nobu | 2016-02-20 14:41:20 +0900 (Sat, 20 Feb 2016) | 4 lines Update README.md * README.md: a few grammatical changes to the main Ruby README.md. [Fix GH-1259] ------------------------------------------------------------------------ r53877 | nobu | 2016-02-20 13:04:59 +0900 (Sat, 20 Feb 2016) | 5 lines dir.c: paths as UTF-8 * dir.c (push_pattern, push_glob): deal with read paths as UTF-8 to stat later, on Windows as well as OS X. [ruby-core:73868] [Bug #12081] ------------------------------------------------------------------------ r53876 | svn | 2016-02-20 01:54:09 +0900 (Sat, 20 Feb 2016) | 1 line * 2016-02-20 ------------------------------------------------------------------------ r53875 | nobu | 2016-02-20 01:54:08 +0900 (Sat, 20 Feb 2016) | 4 lines object.c: fix error message * object.c (rb_mod_const_get): make error message at uninterned string consistent with symbols. [ruby-dev:49498] [Bug #12089] ------------------------------------------------------------------------ r53874 | nobu | 2016-02-19 23:38:28 +0900 (Fri, 19 Feb 2016) | 4 lines find.rb: raise with the name * lib/find.rb (Find#find): raise with the given path name if it does not exist. [ruby-dev:49497] [Bug #12087] ------------------------------------------------------------------------ r53873 | nobu | 2016-02-19 16:58:09 +0900 (Fri, 19 Feb 2016) | 1 line test/ruby: suppress runtime warnings ------------------------------------------------------------------------ r53872 | nobu | 2016-02-19 16:48:02 +0900 (Fri, 19 Feb 2016) | 1 line test/ruby: suppress parser warnings ------------------------------------------------------------------------ r53871 | nobu | 2016-02-19 16:45:58 +0900 (Fri, 19 Feb 2016) | 1 line test: use assert_not_* ------------------------------------------------------------------------ r53870 | duerst | 2016-02-19 12:45:32 +0900 (Fri, 19 Feb 2016) | 3 lines * enc/unicode.c: Activated use of case mapping data in CaseUnfold_11 array. (with Kimihito Matsui) ------------------------------------------------------------------------ r53869 | svn | 2016-02-19 11:09:07 +0900 (Fri, 19 Feb 2016) | 1 line * 2016-02-19 ------------------------------------------------------------------------ r53868 | nobu | 2016-02-19 11:09:06 +0900 (Fri, 19 Feb 2016) | 4 lines extmk.rb: cygwin case * ext/extmk.rb: add cygwin case, nothing excluded. [ruby-core:73806] [Bug#12071] ------------------------------------------------------------------------ r53867 | kazu | 2016-02-18 21:33:48 +0900 (Thu, 18 Feb 2016) | 1 line fix output in EXAMPLES [ci skip] ------------------------------------------------------------------------ r53866 | nobu | 2016-02-18 21:06:20 +0900 (Thu, 18 Feb 2016) | 4 lines string.c: Symbol#match * string.c (sym_match_m): delegate to String#match but not String#=~. [ruby-core:72864] [Bug #11991] ------------------------------------------------------------------------ r53865 | nobu | 2016-02-18 16:53:13 +0900 (Thu, 18 Feb 2016) | 4 lines downloader.rb: defer warning * tool/downloader.rb (Downloader.download): warn using http only when really downloading. ------------------------------------------------------------------------ r53864 | svn | 2016-02-18 14:29:19 +0900 (Thu, 18 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53863 | sorah | 2016-02-18 14:29:18 +0900 (Thu, 18 Feb 2016) | 6 lines * re.c: Add MatchData#named_captures [Feature #11999] [ruby-core:72897] * test/ruby/test_regexp.rb(test_match_data_named_captures): Test for above. * NEWS: News about MatchData#named_captures. ------------------------------------------------------------------------ r53862 | nobu | 2016-02-18 00:16:37 +0900 (Thu, 18 Feb 2016) | 3 lines test_dir.rb: Dir.empty? with directories * test/ruby/test_dir.rb (test_empty): check with directories. ------------------------------------------------------------------------ r53861 | nobu | 2016-02-18 00:14:03 +0900 (Thu, 18 Feb 2016) | 3 lines test_dir.rb: Dir.empty? with dot file * test/ruby/test_dir.rb (test_empty): check with a dot file. ------------------------------------------------------------------------ r53860 | svn | 2016-02-18 00:00:11 +0900 (Thu, 18 Feb 2016) | 1 line * 2016-02-18 ------------------------------------------------------------------------ r53859 | nobu | 2016-02-18 00:00:10 +0900 (Thu, 18 Feb 2016) | 1 line ChangeLog: remove duplicate entry [ci skip] ------------------------------------------------------------------------ r53858 | kazu | 2016-02-17 23:33:31 +0900 (Wed, 17 Feb 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r53857 | usa | 2016-02-17 23:21:57 +0900 (Wed, 17 Feb 2016) | 2 lines * test/ruby/test_dir.rb (TestDir#test_empty?): fix a platform dependent test. ------------------------------------------------------------------------ r53856 | nobu | 2016-02-17 21:42:00 +0900 (Wed, 17 Feb 2016) | 5 lines id.def: $~ and $_ * defs/id.def (predefined): add idLASTLINE and idBACKREF for $~ and $_ respectively. * parse.y: use idLASTLINE and idBACKREF instead of rb_intern. ------------------------------------------------------------------------ r53855 | nobu | 2016-02-17 20:24:09 +0900 (Wed, 17 Feb 2016) | 4 lines string.c: fix rb_str_init * string.c (rb_str_init): fix segfault and memory leak, consider wide char encoding terminator. ------------------------------------------------------------------------ r53854 | naruse | 2016-02-17 19:15:28 +0900 (Wed, 17 Feb 2016) | 1 line Additional fix and tests for r53851 ------------------------------------------------------------------------ r53853 | nobu | 2016-02-17 17:29:58 +0900 (Wed, 17 Feb 2016) | 4 lines assertions.rb: fix assert_no_memory_leak * test/lib/test/unit/assertions.rb (assert_no_memory_leak): fix path of memory_status.rb, as this method has been moved. ------------------------------------------------------------------------ r53852 | nobu | 2016-02-17 16:37:20 +0900 (Wed, 17 Feb 2016) | 1 line remove unnecessary declaration so that rdoc works ------------------------------------------------------------------------ r53851 | naruse | 2016-02-17 16:24:13 +0900 (Wed, 17 Feb 2016) | 3 lines fix rubyspec error from r53850 http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20160217T061402Z.fail.html.gz ------------------------------------------------------------------------ r53850 | naruse | 2016-02-17 12:21:35 +0900 (Wed, 17 Feb 2016) | 2 lines * string.c (rb_str_init): introduce String.new(capacity: size) [Feature #12024] ------------------------------------------------------------------------ r53849 | nobu | 2016-02-17 11:54:50 +0900 (Wed, 17 Feb 2016) | 4 lines numeric.c: adjust types * numeric.c (coerce_rescue, coerce_rescue_quiet): rescue functions should have errinfo too. ------------------------------------------------------------------------ r53848 | svn | 2016-02-17 11:38:09 +0900 (Wed, 17 Feb 2016) | 1 line * 2016-02-17 ------------------------------------------------------------------------ r53847 | nobu | 2016-02-17 11:38:09 +0900 (Wed, 17 Feb 2016) | 4 lines numeric.c: adjust types * numeric.c (coerce_body, coerce_rescue, coerce_rescue_quiet): adjust parameter types for rb_rescue. ------------------------------------------------------------------------ r53846 | kazu | 2016-02-16 21:25:54 +0900 (Tue, 16 Feb 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53845 | kazu | 2016-02-16 21:25:53 +0900 (Tue, 16 Feb 2016) | 1 line fix indent [ci skip] ------------------------------------------------------------------------ r53844 | kazu | 2016-02-16 21:25:51 +0900 (Tue, 16 Feb 2016) | 1 line ChangeLog should be us-ascii [ci skip] ------------------------------------------------------------------------ r53843 | duerst | 2016-02-16 19:10:37 +0900 (Tue, 16 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, casefold.h: Used only first element (rather than all) of target in CaseUnfold_11 array. (with Kimihito Matsui) ------------------------------------------------------------------------ r53842 | nobu | 2016-02-16 18:25:08 +0900 (Tue, 16 Feb 2016) | 4 lines numeric.c: fix segfault * numeric.c (compare_with_zero): fix variable name, rb_cmperr requires VALUEs but not an ID. ------------------------------------------------------------------------ r53841 | nobu | 2016-02-16 17:34:47 +0900 (Tue, 16 Feb 2016) | 4 lines dir.c: Dir.empty? * dir.c (rb_dir_s_empty_p): add Dir.empty? method, which tells the argument is the name of an empty directory. [Feature #10121] ------------------------------------------------------------------------ r53840 | nobu | 2016-02-16 09:51:48 +0900 (Tue, 16 Feb 2016) | 6 lines rbinstall.rb: drive letter in without_destdir * tool/rbinstall.rb (without_destdir): just strip a drive letter which is prepended by with_destdir. pointed out by @DavidEGrayson. https://github.com/ruby/ruby/commit/0e5f9ae#commitcomment-16101763 ------------------------------------------------------------------------ r53839 | naruse | 2016-02-16 04:42:59 +0900 (Tue, 16 Feb 2016) | 4 lines * insns.def (opt_plus): simply use LONG2NUM() instead of wrongly complex overflow case. * insns.def (opt_sub): ditto. ------------------------------------------------------------------------ r53838 | nobu | 2016-02-16 02:50:08 +0900 (Tue, 16 Feb 2016) | 6 lines rbinstall.rb: drive letter in without_destdir * tool/rbinstall.rb (without_destdir): compare with the destdir after stripping a drive letter, on dosish platforms. pointed out by @DavidEGrayson. https://github.com/ruby/ruby/commit/d0cf23b#commitcomment-16100407 ------------------------------------------------------------------------ r53837 | svn | 2016-02-16 02:41:47 +0900 (Tue, 16 Feb 2016) | 1 line * 2016-02-16 ------------------------------------------------------------------------ r53836 | nobu | 2016-02-16 02:41:46 +0900 (Tue, 16 Feb 2016) | 5 lines parse.y: short circuit by result * parse.y (parse_ident): short circuit by result, as only tIDENTIFIER can be a local variable, but tFID and tCONSTANT not. fix up r53834. ------------------------------------------------------------------------ r53835 | nobu | 2016-02-15 15:44:36 +0900 (Mon, 15 Feb 2016) | 5 lines parse.y: kwarg to method with same name variable * parse.y (parse_ident): allow keyword arguments just after a method where the same name local variable is defined. [ruby-core:73816] [Bug#12073] ------------------------------------------------------------------------ r53834 | nobu | 2016-02-15 15:06:31 +0900 (Mon, 15 Feb 2016) | 5 lines parse.y: simplify local ID condition * parse.y (tokenize_ident, parse_ident): ident in tokenize_ident() can be a local id only when called from parse_ident(), but never from parse_gvar() and parse_atmark(). ------------------------------------------------------------------------ r53833 | duerst | 2016-02-15 14:43:55 +0900 (Mon, 15 Feb 2016) | 3 lines * enc/unicode/case-folding.rb: Added debugging option (with Kimihito Matsui) ------------------------------------------------------------------------ r53832 | nobu | 2016-02-15 14:15:33 +0900 (Mon, 15 Feb 2016) | 5 lines bignum.c: micro optimization * bignum.c (rb_big_uminus, bigsub_int): use BIGNUM_NEGATE. * internal.h (BIGNUM_NEGATE): simplify negation. ------------------------------------------------------------------------ r53831 | nobu | 2016-02-15 14:09:59 +0900 (Mon, 15 Feb 2016) | 3 lines use particlar macros * bignum.c: use particlar macros for positive/negative conditions. ------------------------------------------------------------------------ r53830 | nobu | 2016-02-15 13:23:15 +0900 (Mon, 15 Feb 2016) | 4 lines win32/resolv.rb: invert the condition * ext/win32/lib/win32/resolv.rb: invert the condition to return immediately in the future. ------------------------------------------------------------------------ r53829 | nobu | 2016-02-15 12:42:09 +0900 (Mon, 15 Feb 2016) | 4 lines win32/resolv.rb: check pointer size * ext/win32/lib/win32/resolv.rb: check pointer size first, NT if it is larger than 4 as Windows 9X are 32-bit mode only. ------------------------------------------------------------------------ r53828 | nobu | 2016-02-15 12:29:00 +0900 (Mon, 15 Feb 2016) | 4 lines avoid ruby-mode.el bug * ext/win32/lib/win32/{resolv,resolv9x}.rb: get rid of ruby-mode.el of Emacs 24. ------------------------------------------------------------------------ r53827 | svn | 2016-02-15 12:29:00 +0900 (Mon, 15 Feb 2016) | 1 line * 2016-02-15 ------------------------------------------------------------------------ r53826 | nobu | 2016-02-15 12:28:59 +0900 (Mon, 15 Feb 2016) | 4 lines split win32/resolv9x.rb * ext/win32/lib/win32/resolv9x.rb: split code for Windows 9x from resolv.rb. now it is rarely used. ------------------------------------------------------------------------ r53823 | nobu | 2016-02-14 17:52:38 +0900 (Sun, 14 Feb 2016) | 4 lines test_cgi_util.rb: test_cgi_unescapeHTML_invalid * test/cgi/test_cgi_util.rb (test_cgi_unescapeHTML_invalid): test for invalid escaped HTML, borrowed from rubyspec. ------------------------------------------------------------------------ r53822 | nobu | 2016-02-14 17:37:05 +0900 (Sun, 14 Feb 2016) | 4 lines test_exception.rb: fix commit miss * test/ruby/test_exception.rb: remove duplicate method. fix commit miss at r53819. ------------------------------------------------------------------------ r53821 | nobu | 2016-02-14 17:32:15 +0900 (Sun, 14 Feb 2016) | 5 lines mkmf.rb: Do not modify caller strings * lib/mkmf.rb (with_{cpp,c,ld}flags): copy caller strings not to be modified, in append_{cpp,c,ld}flags respectively. [Fix GH-1246] ------------------------------------------------------------------------ r53820 | svn | 2016-02-14 16:19:23 +0900 (Sun, 14 Feb 2016) | 1 line * 2016-02-14 ------------------------------------------------------------------------ r53819 | nobu | 2016-02-14 16:19:23 +0900 (Sun, 14 Feb 2016) | 4 lines not overwrite cause * eval.c (setup_exception): set the cause only if it is explicitly given or not set yet. [Bug #12068] ------------------------------------------------------------------------ r53818 | akr | 2016-02-13 21:45:59 +0900 (Sat, 13 Feb 2016) | 2 lines * hash.c (rb_hash_invert): [DOC] more examples. ------------------------------------------------------------------------ r53817 | nobu | 2016-02-13 17:31:12 +0900 (Sat, 13 Feb 2016) | 4 lines CIDR in no_proxy * lib/uri/generic.rb (URI::Generic#find_proxy): support CIDR in no_proxy. [ruby-core:73769] [Feature#12062] ------------------------------------------------------------------------ r53816 | nobu | 2016-02-13 17:12:21 +0900 (Sat, 13 Feb 2016) | 14 lines no_proxy with whitespaces and leading dots * lib/uri/generic.rb (find_proxy): exclude white-spaces and allow for a leading dot in the domain name in no_proxy. [ruby-core:54542] [Feature #8317] The previous implementation wouldn't allow for white-spaces nor a leading dot in the domain name. The latter is described in the wget documentation as a valid case. By being more strict on the characters, which are counted to a domainname, we allow for white-spaces. Also, a possible leading dot will be handled gracefully. [Fix GH-285] ------------------------------------------------------------------------ r53815 | nobu | 2016-02-13 16:52:25 +0900 (Sat, 13 Feb 2016) | 1 line test/uri/test_generic.rb: split test_find_proxy ------------------------------------------------------------------------ r53814 | svn | 2016-02-13 11:00:55 +0900 (Sat, 13 Feb 2016) | 1 line * 2016-02-13 ------------------------------------------------------------------------ r53813 | nobu | 2016-02-13 11:00:54 +0900 (Sat, 13 Feb 2016) | 4 lines domainname no_proxy assertions * test/uri/test_generic.rb (test_find_proxy): assertions for no_proxy of domainname. ------------------------------------------------------------------------ r53812 | nobu | 2016-02-12 13:24:10 +0900 (Fri, 12 Feb 2016) | 4 lines drbtest.rb: make command an array * test/drb/drbtest.rb (DRbService): make @@ruby an array to be consistent with r35424. ------------------------------------------------------------------------ r53811 | nobu | 2016-02-12 12:21:17 +0900 (Fri, 12 Feb 2016) | 5 lines error.c: fix doc [ci skip] * error.c (name_err_initialize, nometh_err_initialize): [DOC] fix argument positions. optional parameters except for the message are placed at the last. ------------------------------------------------------------------------ r53810 | nobu | 2016-02-12 11:50:09 +0900 (Fri, 12 Feb 2016) | 4 lines net/ftp.rb: NullSocket#closed? * net/ftp.rb: add NullSocket#closed? to fix closing not opened connection. [Fix GH-1232] ------------------------------------------------------------------------ r53809 | svn | 2016-02-12 11:17:59 +0900 (Fri, 12 Feb 2016) | 1 line * 2016-02-12 ------------------------------------------------------------------------ r53808 | nobu | 2016-02-12 11:17:58 +0900 (Fri, 12 Feb 2016) | 4 lines Update re.c [ci skip] * re.c (rb_reg_initialize_m): [DOC] fix missing right bracket. [Fix GH-1243] ------------------------------------------------------------------------ r53807 | nobu | 2016-02-11 14:58:16 +0900 (Thu, 11 Feb 2016) | 5 lines configure.in: fix universal binary * configure.in (RUBY_CHECK_SIZEOF, RUBY_DEFINT): fix for types which are conditionally available depending on architectures when universal binary, e.g., __int128. ------------------------------------------------------------------------ r53806 | nobu | 2016-02-11 14:32:22 +0900 (Thu, 11 Feb 2016) | 4 lines configure.in: use quadrigraphs * configure.in (RUBY_DEFINT): use quadrigraphs instead of bare hash signs not to comment out closing parenthesis. ------------------------------------------------------------------------ r53805 | naruse | 2016-02-11 06:29:50 +0900 (Thu, 11 Feb 2016) | 1 line * configure.in (RUBY_DEFINT): use Parameter Expansion. ------------------------------------------------------------------------ r53804 | naruse | 2016-02-11 06:29:48 +0900 (Thu, 11 Feb 2016) | 1 line fix r53801: the argument should remove UNSIGNED ------------------------------------------------------------------------ r53803 | svn | 2016-02-11 05:57:49 +0900 (Thu, 11 Feb 2016) | 1 line * 2016-02-11 ------------------------------------------------------------------------ r53802 | naruse | 2016-02-11 05:57:49 +0900 (Thu, 11 Feb 2016) | 4 lines * configure.in (int128_t): don't check HAVE_XXX (for example HAVE___INT128) because RUBY_CHECK_SIZEOF() don't define it for config.h and use of $ac_cv_sizeof___int128 alternates the check. (and don't need to define because users shouldn't know that) ------------------------------------------------------------------------ r53801 | nobu | 2016-02-10 16:06:12 +0900 (Wed, 10 Feb 2016) | 4 lines configure.in: remove unnecessary qualifier * configure.in (RUBY_DEFINT): remove unnecessary unsigned qualifier from preprocessing symbols. ------------------------------------------------------------------------ r53800 | nobu | 2016-02-10 15:28:55 +0900 (Wed, 10 Feb 2016) | 5 lines ARFLAGS needs a space * configure.in (ARFLAGS): needs a trailing space to separate from the target library name, whereas VC linker flag must not separate from its argument. ------------------------------------------------------------------------ r53799 | nobu | 2016-02-10 13:16:53 +0900 (Wed, 10 Feb 2016) | 4 lines configure.in: unique names * configure.in (RUBY_CHECK_SIZEOF): make variable names unique with rbcv_sizeof_ prefix. ------------------------------------------------------------------------ r53798 | nobu | 2016-02-10 12:03:57 +0900 (Wed, 10 Feb 2016) | 4 lines check ar D flag * configure.in (ARFLAGS): check if deterministic mode flag is effective, which is on by default on Ubuntu. ------------------------------------------------------------------------ r53797 | svn | 2016-02-10 03:43:46 +0900 (Wed, 10 Feb 2016) | 1 line * 2016-02-10 ------------------------------------------------------------------------ r53796 | naruse | 2016-02-10 03:43:45 +0900 (Wed, 10 Feb 2016) | 1 line Add example for Method#parameters from [ruby-core:19759] ------------------------------------------------------------------------ r53795 | nobu | 2016-02-09 19:18:50 +0900 (Tue, 09 Feb 2016) | 4 lines ruby.c: fixup r53791 * ruby.c (DEFAULT_FEATURES): debug features are no longer set since r53791. ------------------------------------------------------------------------ r53794 | kazu | 2016-02-09 17:55:18 +0900 (Tue, 09 Feb 2016) | 1 line * ruby.c (dump_option): fix a typo. ------------------------------------------------------------------------ r53793 | nobu | 2016-02-09 17:32:20 +0900 (Tue, 09 Feb 2016) | 4 lines ruby.c: available list from enum * ruby.c (feature_option, debug_option, dump_option): build available list in warning messages from enum lists. ------------------------------------------------------------------------ r53792 | nobu | 2016-02-09 17:24:37 +0900 (Tue, 09 Feb 2016) | 3 lines ruby.c: EACH_DUMPS * ruby.c (EACH_DUMPS): define the list of dumping feature names. ------------------------------------------------------------------------ r53791 | nobu | 2016-02-09 16:42:21 +0900 (Tue, 09 Feb 2016) | 4 lines ruby.c: set feature bits only * ruby.c (DEFAULT_FEATURES): set feature bits only, excluding debug features. ------------------------------------------------------------------------ r53790 | sonots | 2016-02-09 16:41:51 +0900 (Tue, 09 Feb 2016) | 2 lines * lib/logger.rb: Remove block from Logger.add as it's not needed patch provided by Daniel Lobato Garci [fix GH-1240] [Bug #12054] ------------------------------------------------------------------------ r53789 | nobu | 2016-02-09 16:36:27 +0900 (Tue, 09 Feb 2016) | 4 lines ruby.c: EACH_DEBUG_FEATURES * ruby.c (EACH_DEBUG_FEATURES): define the list of debug feature names. ------------------------------------------------------------------------ r53788 | nobu | 2016-02-09 15:57:09 +0900 (Tue, 09 Feb 2016) | 3 lines mkrunnable.rb: symlink on Windows [ci skip] * tool/mkrunnable.rb: File.symlink is supported on Windows now. ------------------------------------------------------------------------ r53787 | nobu | 2016-02-09 15:50:53 +0900 (Tue, 09 Feb 2016) | 4 lines mkrunnable.rb: clean link before symlink [ci skip] * tool/mkrunnable.rb (clean_link): clean link before symlink not to make a symlink in the linked directory. ------------------------------------------------------------------------ r53786 | nobu | 2016-02-09 14:47:12 +0900 (Tue, 09 Feb 2016) | 4 lines rename ADD_FEATURE * ruby.c (ADD_FEATURE_NAME): rename ADD_FEATURE, as it does not add a feature, but just append a name to the message string. ------------------------------------------------------------------------ r53785 | zzak | 2016-02-09 14:33:35 +0900 (Tue, 09 Feb 2016) | 3 lines * ext/zlib/zlib.c: Document mtime header behavior with patch by @schneems Fixes [GH-1129]: https://github.com/ruby/ruby/pull/1129 ------------------------------------------------------------------------ r53784 | zzak | 2016-02-09 13:54:39 +0900 (Tue, 09 Feb 2016) | 3 lines * re.c: Remove deprecated kcode argument from Regexp.new and compile patch provided by Dylan Pulliam [Bug #11495] ------------------------------------------------------------------------ r53783 | nobu | 2016-02-09 11:09:24 +0900 (Tue, 09 Feb 2016) | 3 lines .gdbinit: improve rb_imemo [ci skip] * .gdbinit (rp_imemo): support imemo_ment and imemo_iseq. ------------------------------------------------------------------------ r53782 | svn | 2016-02-09 10:51:38 +0900 (Tue, 09 Feb 2016) | 1 line * 2016-02-09 ------------------------------------------------------------------------ r53781 | nobu | 2016-02-09 10:51:38 +0900 (Tue, 09 Feb 2016) | 3 lines Support 1.8 Merged https://github.com/rubygems/rubygems/commit/72b3701 ------------------------------------------------------------------------ r53780 | svn | 2016-02-08 21:26:36 +0900 (Mon, 08 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53779 | duerst | 2016-02-08 21:26:35 +0900 (Mon, 08 Feb 2016) | 4 lines * enc/unicode/case-folding.rb, enc/unicode/casefold.h: Flags for upper/lower conversion added (titlecase and SpecialCasing still missing) (with Kimihito Matsui) ------------------------------------------------------------------------ r53778 | duerst | 2016-02-08 20:44:12 +0900 (Mon, 08 Feb 2016) | 4 lines * string.c, enc/unicode.c: Disassociating ONIGENC_CASE_FOLD flag from ONIGENC_CASE_DOWNCASE. (with Kimihito Matsui) ------------------------------------------------------------------------ r53777 | nobu | 2016-02-08 14:09:49 +0900 (Mon, 08 Feb 2016) | 5 lines test_gem_remote_fetcher.rb: terminate watcher * test/rubygems/test_gem_remote_fetcher.rb (stop_servers): terminate timeout watcher thread to fix thread leak. re-apply r53439. ------------------------------------------------------------------------ r53776 | nobu | 2016-02-08 14:01:00 +0900 (Mon, 08 Feb 2016) | 4 lines unicode.c: magic numbers * enc/unicode.c (I_WITH_DOT_ABOVE, DOTLESS_i, DOT_ABOVE): name magic numbers. ------------------------------------------------------------------------ r53775 | duerst | 2016-02-08 13:00:31 +0900 (Mon, 08 Feb 2016) | 7 lines * enc/unicode.c: Shortened macros for enc/unicode/casefold.h to single-letter; use flags in casefold.h for logic. * enc/unicode/case-folding.rb: Added flag for case folding. Changed parameter passing. * enc/unicode/casefold.h: New flags added. (with Kimihito Matsui) ------------------------------------------------------------------------ r53774 | nobu | 2016-02-08 12:44:48 +0900 (Mon, 08 Feb 2016) | 4 lines string.c: remove magic number * string.c (rb_str_dump): share same string literal instead of a magic number. ------------------------------------------------------------------------ r53773 | nobu | 2016-02-08 12:41:16 +0900 (Mon, 08 Feb 2016) | 4 lines string.c: use encoding index * string.c (rb_external_str_with_enc, rb_str_concat, rb_str_dump): use encoding index as shortcut without rb_encoding. ------------------------------------------------------------------------ r53772 | nobu | 2016-02-08 10:30:22 +0900 (Mon, 08 Feb 2016) | 4 lines ruby.c: err ambiguous feature name [ci skip] * ruby.c (feature_option): raise a runtime error if ambiguous feature name is given, in the future. [Bug #12050] ------------------------------------------------------------------------ r53771 | duerst | 2016-02-08 09:44:10 +0900 (Mon, 08 Feb 2016) | 4 lines * common.mk: Removed enc/unicode/casefold.h from automatic build because some CI systems don't have gperf. Creation of enc/unicode/casefold.h is now possible with make unicode-up. This is intended as a temporary measure. ------------------------------------------------------------------------ r53770 | svn | 2016-02-08 04:40:06 +0900 (Mon, 08 Feb 2016) | 1 line * 2016-02-08 ------------------------------------------------------------------------ r53769 | nagachika | 2016-02-08 04:40:05 +0900 (Mon, 08 Feb 2016) | 1 line * ChangeLog: revive an entry for r53762 accidentally removed at r53764. ------------------------------------------------------------------------ r53768 | svn | 2016-02-07 22:10:21 +0900 (Sun, 07 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53767 | duerst | 2016-02-07 22:10:20 +0900 (Sun, 07 Feb 2016) | 7 lines * common.mk: Added two more precondition files for enc/unicode/casefold.h * enc/unicode.c: Added shortening macros for enc/unicode/casefold.h * enc/unicode/case-folding.rb: Fixed file encoding for CaseFolding.txt to ASCII-8BIT (should fix some ci errors). Clarified usage. Created class MapItem. Partially implemented class CaseMapping. (with Kimihito Matsui) ------------------------------------------------------------------------ r53766 | nobu | 2016-02-07 19:21:27 +0900 (Sun, 07 Feb 2016) | 3 lines ruby.c: EACH_FEATURES * ruby.c (EACH_FEATURES): define the list of feature names. ------------------------------------------------------------------------ r53765 | duerst | 2016-02-07 14:12:44 +0900 (Sun, 07 Feb 2016) | 3 lines * enc/unicode/case-folding.rb: Fixing parameter passing. (with Kimihito Matsui) ------------------------------------------------------------------------ r53764 | duerst | 2016-02-07 11:44:14 +0900 (Sun, 07 Feb 2016) | 4 lines * enc/unicode/case-folding.rb: New classes CaseMapping/CaseMappingDummy to pass as parameters; not yet implemented or used. (with Kimihito Matsui) ------------------------------------------------------------------------ r53763 | nobu | 2016-02-07 11:40:52 +0900 (Sun, 07 Feb 2016) | 4 lines ruby.c: show feature names * ruby.c (feature_option): show possible feature names when unknown argument is given. ------------------------------------------------------------------------ r53762 | duerst | 2016-02-07 11:16:12 +0900 (Sun, 07 Feb 2016) | 4 lines * common.mk: using new option in recipe for enc/unicode/casefold.h * enc/unicode/case-folding.rb: Correctly specify argument to new option. (with Kimihito Matsui) ------------------------------------------------------------------------ r53761 | duerst | 2016-02-07 10:43:39 +0900 (Sun, 07 Feb 2016) | 6 lines (this commit message applies to the previous commit) * common.mk: explicit recipe for enc/unicode/casefold.h * enc/unicode/case-folding.rb: Adding -m option to prepare for using multiple data files. (with Kimihito Matsui) ------------------------------------------------------------------------ r53760 | svn | 2016-02-07 10:39:27 +0900 (Sun, 07 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53759 | duerst | 2016-02-07 10:39:26 +0900 (Sun, 07 Feb 2016) | 1 line ------------------------------------------------------------------------ r53758 | svn | 2016-02-07 02:56:47 +0900 (Sun, 07 Feb 2016) | 1 line * 2016-02-07 ------------------------------------------------------------------------ r53757 | naruse | 2016-02-07 02:56:47 +0900 (Sun, 07 Feb 2016) | 5 lines Revert "check __int64_t and __int128_t" This reverts commit r53750. Those types seems to be for C++, and breaks old GCC. http://rubyci.s3.amazonaws.com/c64b/ruby-trunk/log/20160206T130202Z.diff.html.gz ------------------------------------------------------------------------ r53756 | naruse | 2016-02-06 23:45:49 +0900 (Sat, 06 Feb 2016) | 1 line Fix r53748; the datafile includes non ASCII ------------------------------------------------------------------------ r53755 | nobu | 2016-02-06 23:23:26 +0900 (Sat, 06 Feb 2016) | 3 lines fix types order * configure.in: types without _t have prior than types with _t. ------------------------------------------------------------------------ r53754 | nobu | 2016-02-06 22:31:07 +0900 (Sat, 06 Feb 2016) | 4 lines ASCII-incompatible escape * lib/cgi/util.rb (escapeHTML, unescapeHTML): consider ASCII-incompatible encodings. [Fix GH-1239] ------------------------------------------------------------------------ r53753 | nobu | 2016-02-06 21:02:09 +0900 (Sat, 06 Feb 2016) | 3 lines lex.c.blt: update * lex.c.blt: follows r52429, not removing casts to int. ------------------------------------------------------------------------ r53752 | nobu | 2016-02-06 20:51:40 +0900 (Sat, 06 Feb 2016) | 5 lines get rid of ruby-mode.el bugs * lib/optparse.rb: get rid of confusing ruby-mode.el of Emacs 24, - if-end expression inside an expression - a comma just followed by a bar ------------------------------------------------------------------------ r53751 | svn | 2016-02-06 20:44:34 +0900 (Sat, 06 Feb 2016) | 1 line * 2016-02-06 ------------------------------------------------------------------------ r53750 | nobu | 2016-02-06 20:44:33 +0900 (Sat, 06 Feb 2016) | 4 lines check __int64_t and __int128_t * configure.in: check __int64_t and __int128_t for RUBY_DEFINT on OS X. ------------------------------------------------------------------------ r53749 | duerst | 2016-02-06 15:18:38 +0900 (Sat, 06 Feb 2016) | 8 lines * test/ruby/enc/test_regex_casefold.rb: Added data-based testing for String#downcase :fold. * enc/unicode.c: Fixed a range error (lowest non-ASCII character affected by case operations is U+00B5, MICRO SIGN) * test/ruby/enc/test_case_mapping.rb: Explicit test for case folding of MICRO SIGN to Greek mu. (with Kimihito Matsui) ------------------------------------------------------------------------ r53748 | duerst | 2016-02-06 14:51:33 +0900 (Sat, 06 Feb 2016) | 8 lines * test/ruby/enc/test_regex_casefold.rb: Tests for three case folding primitives (mbc_case_fold, get_case_fold_codes_by_str, apply_all_case_fold) in the various encodings. Currently only known good encodings are tested to avoid test failures. For bug hunting, start by adding more encodings with generate_test_casefold encoding (with Kimihito Matsui) ------------------------------------------------------------------------ r53747 | duerst | 2016-02-06 14:37:29 +0900 (Sat, 06 Feb 2016) | 5 lines * enc/unicode.c, test/ruby/enc/test_case_mapping.rb: Implemented :fold option for String#downcase by using case folding data from regular expression engine, and added a few simple tests. (with Kimihito Matsui) ------------------------------------------------------------------------ r53746 | duerst | 2016-02-05 20:09:07 +0900 (Fri, 05 Feb 2016) | 3 lines * test/ruby/enc/test_case_mapping.rb: added tests for :ascii option. (with Kimihito Matsui) ------------------------------------------------------------------------ r53745 | nobu | 2016-02-05 16:45:39 +0900 (Fri, 05 Feb 2016) | 3 lines configure.in: fix doc [ci skip] * configure.in (RUBY_CHECK_SIGNEDNESS): [DOC] fix function name. ------------------------------------------------------------------------ r53744 | naruse | 2016-02-05 15:52:41 +0900 (Fri, 05 Feb 2016) | 44 lines improve r53741 * Remove branching by a==0 case Before r53741: % perf stat ./miniruby -e'a=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end' Performance counter stats for './miniruby -vea=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end': 16412.994492 task-clock (msec) # 0.999 CPUs utilized 195 context-switches # 0.012 K/sec 2 cpu-migrations # 0.000 K/sec 876 page-faults # 0.053 K/sec 48488588328 cycles # 2.954 GHz 18464835712 stalled-cycles-frontend # 38.08% frontend cycles idle <not supported> stalled-cycles-backend 85665428518 instructions # 1.77 insns per cycle # 0.22 stalled cycles # per insn 10207419707 branches # 621.911 M/sec 6334713 branch-misses # 0.06% of all branches 16.426858699 seconds time elapsed After this: % perf stat ./miniruby -ve'a=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end' Performance counter stats for './miniruby -vea=100;i=0;while i<0xfffffff;i+=1;a=(a*557+2)%100000;end': 13363.540634 task-clock (msec) # 0.999 CPUs utilized 137 context-switches # 0.010 K/sec 2 cpu-migrations # 0.000 K/sec 874 page-faults # 0.065 K/sec 39477429278 cycles # 2.954 GHz 14615402375 stalled-cycles-frontend # 37.02% frontend cycles idle <not supported> stalled-cycles-backend 83514678452 instructions # 2.12 insns per cycle # 0.18 stalled cycles per insn 9401528135 branches # 703.521 M/sec 432567 branch-misses # 0.00% of all branches 13.371484310 seconds time elapsed ------------------------------------------------------------------------ r53743 | nobu | 2016-02-05 13:45:10 +0900 (Fri, 05 Feb 2016) | 6 lines incompatible encoding workaround * test/lib/minitest/unit.rb (puke): workaround incompatible encoding error messages. * test/lib/test/unit/assertions.rb (AllFailures.message): ditto. ------------------------------------------------------------------------ r53742 | svn | 2016-02-05 13:31:28 +0900 (Fri, 05 Feb 2016) | 1 line * 2016-02-05 ------------------------------------------------------------------------ r53741 | naruse | 2016-02-05 13:31:27 +0900 (Fri, 05 Feb 2016) | 8 lines * insns.def (opt_mult): Use int128_t for overflow detection. * bignum.c (rb_uint128t2big): added for opt_mult. * bignum.c (rb_uint128t2big): added for rb_uint128t2big.. * configure.in: define int128_t, uint128_t and related MACROs. Initially introduced by r41379 but reverted by r50749. ------------------------------------------------------------------------ r53740 | duerst | 2016-02-04 21:05:23 +0900 (Thu, 04 Feb 2016) | 3 lines * enc/unicode.c: Activated :ascii flag for ASCII-only case conversion (with Kimihito Matsui) ------------------------------------------------------------------------ r53739 | nobu | 2016-02-04 17:38:06 +0900 (Thu, 04 Feb 2016) | 6 lines fstring without copy * re.c (reg_set_source): make source string frozen without copying. * re.c (rb_reg_initialize_m): refactor initialization with encoding. ------------------------------------------------------------------------ r53738 | nobu | 2016-02-04 15:46:28 +0900 (Thu, 04 Feb 2016) | 4 lines revert re.c in r53736 * re.c (rb_reg_initialize): must copy the source string content, it is not a static literal. ------------------------------------------------------------------------ r53737 | nobu | 2016-02-04 15:44:55 +0900 (Thu, 04 Feb 2016) | 3 lines return shared string * re.c (rb_reg_source): return shared string without copying. ------------------------------------------------------------------------ r53736 | nobu | 2016-02-04 15:35:34 +0900 (Thu, 04 Feb 2016) | 5 lines fstring_enc_new * string.c (rb_fstring_enc_new, rb_fstring_enc_cstr): functions to make fstring with encoding. * re.c (rb_reg_initialize): make fstring without copying. ------------------------------------------------------------------------ r53735 | nobu | 2016-02-04 15:34:10 +0900 (Thu, 04 Feb 2016) | 4 lines end of UNICODE_FILES * common.mk (UNICODE_FILES): append empty END-OF-LIST to put backslashes uniformly. ------------------------------------------------------------------------ r53734 | duerst | 2016-02-04 14:42:35 +0900 (Thu, 04 Feb 2016) | 3 lines * common.mk: Added Unicode data file SpecialCasing.txt to be additionally downloaded (with Kimihito Matsui) ------------------------------------------------------------------------ r53733 | nobu | 2016-02-04 14:10:36 +0900 (Thu, 04 Feb 2016) | 5 lines mask upper nibble * ext/cgi/escape/escape.c (optimized_escape): move c and use it instead of cstr[i]. mask upper nibble for the platforms where CHAR_BIT > 8. [Fix GH-1238] ------------------------------------------------------------------------ r53732 | nobu | 2016-02-04 12:40:41 +0900 (Thu, 04 Feb 2016) | 7 lines initialize dest to 0 * ext/cgi/escape/escape.c (optimized_escape_html): initialize dest to 0 and tell the result to be modified, instead of a separate flag. * ext/cgi/escape/escape.c (optimized_escape): ditto. ------------------------------------------------------------------------ r53731 | nobu | 2016-02-04 12:39:12 +0900 (Thu, 04 Feb 2016) | 4 lines cgi/escape: Optimize CGI.escape * cgi/escape/escape.c: Optimize CGI.escape performance by C ext for ASCII-compatible encodings. [Fix GH-1238] ------------------------------------------------------------------------ r53730 | nobu | 2016-02-04 12:16:50 +0900 (Thu, 04 Feb 2016) | 4 lines encoding.h: rb_enc_asciicompat_inline * include/ruby/encoding.h (rb_enc_asciicompat): turn into an inline function to get rid of evalucating the argument twice. ------------------------------------------------------------------------ r53729 | svn | 2016-02-04 11:54:03 +0900 (Thu, 04 Feb 2016) | 1 line * 2016-02-04 ------------------------------------------------------------------------ r53728 | duerst | 2016-02-04 11:54:02 +0900 (Thu, 04 Feb 2016) | 3 lines * common.mk: Introduce two variables (UNICODE_DATA_DIR and UNICODE_SRC_DATA_DIR) to eliminate repetitions. ------------------------------------------------------------------------ r53727 | naruse | 2016-02-03 19:08:49 +0900 (Wed, 03 Feb 2016) | 1 line Remove debug print introduced in r52386 ------------------------------------------------------------------------ r53726 | nobu | 2016-02-03 16:37:19 +0900 (Wed, 03 Feb 2016) | 4 lines test_exception.rb: NameError at FCALL * test/ruby/test_exception.rb (test_name_error_info): add assertions for FCALL. ------------------------------------------------------------------------ r53725 | nobu | 2016-02-03 16:21:48 +0900 (Wed, 03 Feb 2016) | 4 lines vm_eval.c: argument names * vm_eval.c (make_no_method_exception): enumerate argument meanings instead of a magic number. ------------------------------------------------------------------------ r53724 | naruse | 2016-02-03 13:52:13 +0900 (Wed, 03 Feb 2016) | 2 lines * string.c (str_new_frozen): if the given string is embeddedable but not embedded, embed a new copied string. [Bug #11946] ------------------------------------------------------------------------ r53723 | nobu | 2016-02-03 08:25:40 +0900 (Wed, 03 Feb 2016) | 4 lines Fix typo on OpenSSL::PKey doc [ci skip] * ext/openssl/ossl_pkey.c (Init_ossl_pkey): [DOC] Fix typo "encrypted" to "decrypted". [Fix GH-1235] ------------------------------------------------------------------------ r53722 | nobu | 2016-02-03 08:21:34 +0900 (Wed, 03 Feb 2016) | 5 lines Fix Ripper.lex error in dedenting squiggly heredoc * ext/ripper/lib/ripper/lexer.rb (on_heredoc_dedent): Fix Ripper.lex error in dedenting squiggly heredoc. heredoc tree is also an array of Elem in the outer tree. [Fix GH-1234] ------------------------------------------------------------------------ r53721 | svn | 2016-02-03 02:38:01 +0900 (Wed, 03 Feb 2016) | 1 line * 2016-02-03 ------------------------------------------------------------------------ r53720 | naruse | 2016-02-03 02:38:00 +0900 (Wed, 03 Feb 2016) | 3 lines * re.c (rb_reg_prepare_enc): use already compiled US-ASCII regexp if given string is ASCII only. 121.2s to 113.9s on my x86_64-freebsd10.2 Intel Core i5 661 ------------------------------------------------------------------------ r53719 | kazu | 2016-02-02 22:01:09 +0900 (Tue, 02 Feb 2016) | 1 line follow r53691 ------------------------------------------------------------------------ r53718 | naruse | 2016-02-02 20:02:10 +0900 (Tue, 02 Feb 2016) | 4 lines Skip SHA from test_digest_constants for LibreSSL 2.3 The first one of ruby/openssl#40 https://github.com/ruby/openssl/issues/40#issuecomment-159839338 ------------------------------------------------------------------------ r53717 | nobu | 2016-02-02 16:08:13 +0900 (Tue, 02 Feb 2016) | 4 lines downloader.rb: https setter * tool/downloader.rb (Downloader.https): define class variable setter for 1.8, class_variable_set was private. ------------------------------------------------------------------------ r53716 | nobu | 2016-02-02 14:43:44 +0900 (Tue, 02 Feb 2016) | 4 lines win32.c: reuse fullpath buffer * win32/win32.c (open_dir_handle): reuse the fullpath buffer instead of allocating another buffer for copy. ------------------------------------------------------------------------ r53715 | naruse | 2016-02-02 13:39:44 +0900 (Tue, 02 Feb 2016) | 13 lines * re.c: Introduce RREGEXP_PTR. patch by dbussink. partially merge https://github.com/ruby/ruby/pull/497 * include/ruby/ruby.h: ditto. * gc.c: ditto. * ext/strscan/strscan.c: ditto. * parse.y: ditto. * string.c: ditto. ------------------------------------------------------------------------ r53714 | nobu | 2016-02-02 13:39:38 +0900 (Tue, 02 Feb 2016) | 4 lines enc: workdir timestamps * enc/depend: make timestamps for each work directory, instead of making for each compilation and link. ------------------------------------------------------------------------ r53713 | nobu | 2016-02-02 12:53:01 +0900 (Tue, 02 Feb 2016) | 3 lines ChangeLog: reword * ChangeLog: reword "affect" as it is a verb. ------------------------------------------------------------------------ r53712 | hsbt | 2016-02-02 09:11:34 +0900 (Tue, 02 Feb 2016) | 3 lines * lib/rubygems/specification.rb: `coding` is affect only first line except shebang. * lib/rubygems/package.rb, lib/rubygems/package/*: ditto. ------------------------------------------------------------------------ r53711 | svn | 2016-02-02 00:06:18 +0900 (Tue, 02 Feb 2016) | 1 line * 2016-02-02 ------------------------------------------------------------------------ r53710 | nobu | 2016-02-02 00:06:17 +0900 (Tue, 02 Feb 2016) | 5 lines win32.c: w32_wopendir * win32/win32.c (w32_wopendir): remove filename parameter, and check the drive letter in wpath instead. rename from opendir_internal. ------------------------------------------------------------------------ r53709 | svn | 2016-02-01 21:43:30 +0900 (Mon, 01 Feb 2016) | 1 line * properties. ------------------------------------------------------------------------ r53708 | svn | 2016-02-01 21:43:30 +0900 (Mon, 01 Feb 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53707 | hsbt | 2016-02-01 21:43:26 +0900 (Mon, 01 Feb 2016) | 5 lines * lib/rubygems.rb, lib/rubygems/*, test/rubygems/*: Update rubygems-2.5.2. It supports to enable frozen string literal and add `--norc` option for disable to `.gemrc` configuration. See 2.5.2 release notes for other fixes and enhancements. https://github.com/rubygems/rubygems/blob/a8aa3bac723f045c52471c7b9328310a048561e0/History.txt#L3 ------------------------------------------------------------------------ r53706 | nobu | 2016-02-01 21:08:08 +0900 (Mon, 01 Feb 2016) | 4 lines win32.c: volume_prefix_len * win32/win32.c (rb_w32_read_reparse_point): name the prefix length to be dropped. ------------------------------------------------------------------------ r53705 | nobu | 2016-02-01 17:14:03 +0900 (Mon, 01 Feb 2016) | 5 lines win32.c: suffix should be alnum * win32/win32.c (fileattr_to_unixmode): built-in executable suffixes are alpha-numeric only, no needs to scan whole path, especially path separators. ------------------------------------------------------------------------ r53704 | svn | 2016-02-01 15:25:22 +0900 (Mon, 01 Feb 2016) | 1 line * 2016-02-01 ------------------------------------------------------------------------ r53703 | nobu | 2016-02-01 15:25:21 +0900 (Mon, 01 Feb 2016) | 4 lines win32.c: move counting length * win32/win32.c (opendir_internal): defer counting the length just before the loop where it is used. ------------------------------------------------------------------------ r53702 | nobu | 2016-01-31 18:43:22 +0900 (Sun, 31 Jan 2016) | 4 lines r53688 test * test/ruby/test_file_exhaustive.rb (test_realpath_mount_point): test for r53688. ------------------------------------------------------------------------ r53701 | nobu | 2016-01-31 12:34:21 +0900 (Sun, 31 Jan 2016) | 4 lines additional math operations * test/drb/ut_large.rb (multiply, avg, median): add additional math operations to DRbLarge. [Fix GH-1086] ------------------------------------------------------------------------ r53700 | nobu | 2016-01-31 12:20:22 +0900 (Sun, 31 Jan 2016) | 4 lines test for File#lstat. * test/ruby/test_file_exhaustive.rb (test_lstat): Add lacking test for File#lstat. [Fix GH-1231] ------------------------------------------------------------------------ r53699 | nobu | 2016-01-31 12:16:40 +0900 (Sun, 31 Jan 2016) | 6 lines standard_library.rdoc: fix typo [ci skip] * doc/standard_library.rdoc: fix typo [Fix GH-1230] Spelling mistakes - outputing > outputting publich > publish ------------------------------------------------------------------------ r53698 | nobu | 2016-01-31 12:11:14 +0900 (Sun, 31 Jan 2016) | 7 lines io.c: rb_io_open_generic * io.c (rb_io_open_generic): split from rb_io_open without argument conversions. * io.c (rb_io_s_binread): get rid of unnecessary object creation and conversion. ------------------------------------------------------------------------ r53697 | svn | 2016-01-31 11:58:34 +0900 (Sun, 31 Jan 2016) | 1 line * 2016-01-31 ------------------------------------------------------------------------ r53696 | nobu | 2016-01-31 11:58:33 +0900 (Sun, 31 Jan 2016) | 4 lines io.c: constify * io.c (rb_file_open_generic, pipe_open, pipe_open_s): constify convconfig parameter. ------------------------------------------------------------------------ r53695 | nobu | 2016-01-30 15:19:13 +0900 (Sat, 30 Jan 2016) | 5 lines vm_eval.c: fix hook call * vm_eval.c (rb_check_funcall_with_hook): also should call the given hook before returning Qundef when overridden respond_to? method returned false. [ruby-core:73556] [Bug #12030] ------------------------------------------------------------------------ r53694 | nobu | 2016-01-30 10:49:05 +0900 (Sat, 30 Jan 2016) | 4 lines common.mk: update-bundled_gems * common.mk (update-bundled_gems): to update version numbers in gems/bundled_gems file. ------------------------------------------------------------------------ r53693 | nobu | 2016-01-30 10:08:20 +0900 (Sat, 30 Jan 2016) | 1 line update bundled gems ------------------------------------------------------------------------ r53692 | svn | 2016-01-30 00:21:53 +0900 (Sat, 30 Jan 2016) | 1 line * 2016-01-30 ------------------------------------------------------------------------ r53691 | naruse | 2016-01-30 00:21:52 +0900 (Sat, 30 Jan 2016) | 1 line suppress warning: assigned but unused variable ------------------------------------------------------------------------ r53690 | nobu | 2016-01-29 18:32:57 +0900 (Fri, 29 Jan 2016) | 4 lines r53689 test * test/ruby/test_file_exhaustive.rb (test_readlink_junction): test for r53689. ------------------------------------------------------------------------ r53689 | nobu | 2016-01-29 17:41:10 +0900 (Fri, 29 Jan 2016) | 6 lines win32/file.c: drop garbage * win32/file.c (rb_readlink): drop garbage after the substitute name, as rb_w32_read_reparse_point returns the expected buffer size but "\??\" prefix is dropped from the result. * win32/win32.c (w32_readlink): ditto, including NUL-terminator. ------------------------------------------------------------------------ r53688 | usa | 2016-01-29 17:13:42 +0900 (Fri, 29 Jan 2016) | 10 lines * win32/win32.c (fileattr_to_unixmode, rb_w32_reparse_symlink_p): volume mount point should be treated as directory, not symlink. [ruby-core:72483] [Bug #11874] * win32/win32.c (rb_w32_read_reparse_point): check the reparse point is a volume mount point or not. * win32/file.c (rb_readlink): follow above change (but this pass won't be used). ------------------------------------------------------------------------ r53687 | kazu | 2016-01-29 17:01:01 +0900 (Fri, 29 Jan 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53686 | nobu | 2016-01-29 16:18:10 +0900 (Fri, 29 Jan 2016) | 4 lines Rename parameter name * enum.c (enum_take_while, enum_drop_while): rename block parameter to obj, since they are generic objects. [Fix GH-1226] ------------------------------------------------------------------------ r53685 | nobu | 2016-01-29 14:16:29 +0900 (Fri, 29 Jan 2016) | 4 lines erb.rb: fronzen-string-literal in comment [Fix GH-1229] * lib/erb.rb (ERB::Compiler#detect_magic_comment): allow fronzen-string-literal in comment as well as encoding. ------------------------------------------------------------------------ r53684 | nobu | 2016-01-29 14:14:31 +0900 (Fri, 29 Jan 2016) | 5 lines erb.rb: duplicated magic comments [Fix GH-1229] * lib/erb.rb (ERB#def_method): insert def line just before the first non-comment and non-empty line, not to leave duplicated and stale magic comments. ------------------------------------------------------------------------ r53683 | nobu | 2016-01-29 12:18:05 +0900 (Fri, 29 Jan 2016) | 6 lines test_erb.rb: improve assertions * test/erb/test_erb.rb: improve failure messages with assert_respond_to and assert_not_respond_to. * test/erb/test_erb.rb: use assert_raise instead of assert(false). ------------------------------------------------------------------------ r53682 | nobu | 2016-01-29 11:14:36 +0900 (Fri, 29 Jan 2016) | 5 lines erb.rb: frozen-string-literal safe * lib/erb.rb (ERB#set_eoutvar): explicitly make mutable string as a buffer to make ERB work with --enable-frozen-string-literal. [ruby-core:73561] [Bug #12031] ------------------------------------------------------------------------ r53681 | nobu | 2016-01-29 11:13:38 +0900 (Fri, 29 Jan 2016) | 5 lines test_erb.rb: escape * test/erb/test_erb.rb (test_token_extension): escape % in dedented heredoc for editors which do not support this syntax yet. ------------------------------------------------------------------------ r53680 | svn | 2016-01-29 10:46:03 +0900 (Fri, 29 Jan 2016) | 1 line * 2016-01-29 ------------------------------------------------------------------------ r53679 | hsbt | 2016-01-29 10:46:02 +0900 (Fri, 29 Jan 2016) | 3 lines * lib/net/http/header.rb: Warn nil variable on HTTP Header. It caused to NoMethodError. [fix GH-952][fix GH-641] Patch by @teosz * test/net/http/test_httpheader.rb: Added test for nil HTTP Header. ------------------------------------------------------------------------ r53678 | svn | 2016-01-28 17:32:45 +0900 (Thu, 28 Jan 2016) | 1 line * 2016-01-28 ------------------------------------------------------------------------ r53677 | nobu | 2016-01-28 17:32:44 +0900 (Thu, 28 Jan 2016) | 4 lines socket.c: unlimited size hostname * ext/socket/socket.c (sock_gethostname): support unlimited size hostname. ------------------------------------------------------------------------ r53676 | nobu | 2016-01-27 23:57:23 +0900 (Wed, 27 Jan 2016) | 3 lines depend: add capacity.o * ext/-test-/string/depend (capacity.o): add dependencies. ------------------------------------------------------------------------ r53675 | svn | 2016-01-27 21:04:48 +0900 (Wed, 27 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53674 | hsbt | 2016-01-27 21:04:47 +0900 (Wed, 27 Jan 2016) | 1 line * test/-ext-/string/test_capacity.rb: Added missing library. ------------------------------------------------------------------------ r53673 | usa | 2016-01-27 21:00:07 +0900 (Wed, 27 Jan 2016) | 4 lines * test/ruby/test_file.rb (TestFile#test_realpath_encoding): rescue Errno::EACCES and skip the testcase because it'll be raised on Windows always unless the runner doesn't have the administrator privilege. ------------------------------------------------------------------------ r53672 | svn | 2016-01-27 20:37:03 +0900 (Wed, 27 Jan 2016) | 1 line * properties. ------------------------------------------------------------------------ r53671 | naruse | 2016-01-27 20:37:02 +0900 (Wed, 27 Jan 2016) | 1 line Add tests about String's internal capacity ------------------------------------------------------------------------ r53670 | duerst | 2016-01-27 18:54:38 +0900 (Wed, 27 Jan 2016) | 2 lines * enc/unicode.c: Fixed bit mask in macro OnigCodePointCount ------------------------------------------------------------------------ r53669 | duerst | 2016-01-27 17:55:40 +0900 (Wed, 27 Jan 2016) | 4 lines * enc/unicode.c: Protect code point count by macro, in order to be able to use the remaining bits for flags. (with Kimihito Matsui) ------------------------------------------------------------------------ r53668 | nobu | 2016-01-27 16:35:34 +0900 (Wed, 27 Jan 2016) | 5 lines Fix doc with default value with GH-523 * lib/tempfile.rb (Tempfile#initialize): [DOC] the first parameter `basename` is optional and defaulted to an empty string since [GH-523]. [Fix GH-1225] ------------------------------------------------------------------------ r53667 | nobu | 2016-01-27 16:30:42 +0900 (Wed, 27 Jan 2016) | 3 lines hash.c: exception examples * hash.c (rb_hash_dig): [DOC] add examples of exceptions. ------------------------------------------------------------------------ r53666 | nobu | 2016-01-27 16:26:53 +0900 (Wed, 27 Jan 2016) | 5 lines Fix a Ruby-Doc comment for Array#dig * array.c (rb_ary_dig): [DOC] fix the exception class to be raised when intermediate object does not have dig method. TypeError will be raised now. [Fix GH-1224] ------------------------------------------------------------------------ r53665 | nobu | 2016-01-27 13:11:53 +0900 (Wed, 27 Jan 2016) | 6 lines test_require.rb: fix temporary library directory * test/rubygems/test_require.rb (test_dash_i_beats_gems): create temporary library directory under the temporary directory created by Gem::TestCase#setup, not to leave garbages in the default temporary directory. ------------------------------------------------------------------------ r53664 | svn | 2016-01-27 02:19:37 +0900 (Wed, 27 Jan 2016) | 1 line * 2016-01-27 ------------------------------------------------------------------------ r53663 | naruse | 2016-01-27 02:19:36 +0900 (Wed, 27 Jan 2016) | 1 line increase timeout for Solaris 10 SPARC ------------------------------------------------------------------------ r53661 | kazu | 2016-01-26 19:39:50 +0900 (Tue, 26 Jan 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53660 | nobu | 2016-01-26 19:37:12 +0900 (Tue, 26 Jan 2016) | 4 lines array.c: reword [ci skip] * array.c (permute0, rpermute0): [DOC] Substitute indexes -> indices in documentation for consistency. [Fix GH-1222] ------------------------------------------------------------------------ r53659 | normal | 2016-01-26 15:23:47 +0900 (Tue, 26 Jan 2016) | 16 lines fstring early for internal iseq All of the strings created here eventually get converted to fstrings when they are frozen into the iseq. Prepare the fstring early so we may reduce a one or two objects. This is a very minor change, mainly for the '<main>' dedupe. * compile.c (caller_location): use rb_fstring_cstr for "<compiled>" (it is converted to fstring anyways inside rb_iseq_new_with_opt) * iseq.c (iseqw_s_compile): ditto * iseq.c (rb_iseq_new_main): use rb_fstring_cstr for "<main>" * vm.c (Init_VM): ditto, share with with above * iseq.c (iseqw_s_compile_file): rb_fstring before rb_io_t->pathv share "<main>" with above * vm.c (rb_binding_add_dynavars): fstring "<temp>" immediately ------------------------------------------------------------------------ r53658 | nobu | 2016-01-26 15:14:59 +0900 (Tue, 26 Jan 2016) | 7 lines compile.c: fix tailcall optimization * compile.c (iseq_peephole_optimize): don't apply tailcall optimization to send/invokesuper instructions with blockiseq. This is a follow-up to the changes in r51903; blockiseq is now the third operand of send/invokesuper instructions. [ruby-core:73413] [Bug #12018] ------------------------------------------------------------------------ r53657 | normal | 2016-01-26 14:33:28 +0900 (Tue, 26 Jan 2016) | 7 lines Signal.list deduplicates keys This allows us to reuse string objects used in symbols as well as any string representations of signal names in source code. * signal.c (sig_list): use fstring for hash key * test/ruby/test_signal.rb (test_signal_list_dedupe_keys): added ------------------------------------------------------------------------ r53656 | nobu | 2016-01-26 13:09:31 +0900 (Tue, 26 Jan 2016) | 4 lines signal.c: reserved signals * signal.c (rb_f_kill): should immediately deliver reserved signals SIGILL and SIGFPE, ont only SIGSEGV and SIGBUS. ------------------------------------------------------------------------ r53655 | svn | 2016-01-26 07:58:26 +0900 (Tue, 26 Jan 2016) | 1 line * 2016-01-26 ------------------------------------------------------------------------ r53654 | nobu | 2016-01-26 07:58:25 +0900 (Tue, 26 Jan 2016) | 4 lines Macro typo * gc.c (RVALUE_PAGE_WB_UNPROTECTED): fix a typo of argument name. [Fix GH-1221] ------------------------------------------------------------------------ r53653 | normal | 2016-01-25 17:34:00 +0900 (Mon, 25 Jan 2016) | 8 lines fix build with VM_CHECK_MODE > 0 * ruby_assert.h (RUBY_ASSERT_WHEN): fix reference to macro name * vm_core.h: include ruby_assert.h before using [ruby-core:73371] This does not fix the test failure documented in [ruby-core:73371], that is for later. ------------------------------------------------------------------------ r53652 | nobu | 2016-01-25 16:49:26 +0900 (Mon, 25 Jan 2016) | 3 lines common.mk: dependency of ripper.c * common.mk (ext/ripper/ripper.c): explicit parse.y for nmake. ------------------------------------------------------------------------ r53651 | nobu | 2016-01-25 16:45:54 +0900 (Mon, 25 Jan 2016) | 1 line revert r53618 partially ------------------------------------------------------------------------ r53650 | nobu | 2016-01-25 15:56:26 +0900 (Mon, 25 Jan 2016) | 5 lines symbol.c: more informative error message * symbol.c (sym_check_asciionly): more informative error message with the encoding name and the inspected content. [ruby-core:73398] [Feature #12016] ------------------------------------------------------------------------ r53649 | hsbt | 2016-01-25 09:39:26 +0900 (Mon, 25 Jan 2016) | 2 lines * test/ruby/test_string.rb: added testcase for next!, succ and succ! [fix GH-1213] Patch by @K0mAtoru ------------------------------------------------------------------------ r53648 | hsbt | 2016-01-25 09:33:17 +0900 (Mon, 25 Jan 2016) | 2 lines * lib/webrick/httpservlet/filehandler.rb: fix documentation for namespace. [fix GH-1219][ci skip] Patch by @leafac ------------------------------------------------------------------------ r53647 | svn | 2016-01-25 00:00:58 +0900 (Mon, 25 Jan 2016) | 1 line * 2016-01-25 ------------------------------------------------------------------------ r53646 | nobu | 2016-01-25 00:00:57 +0900 (Mon, 25 Jan 2016) | 4 lines test_class.rb: fix encoding * test/ruby/test_class.rb (test_namescope_error_message): fix encoding to UTF-8. ------------------------------------------------------------------------ r53645 | nobu | 2016-01-24 23:59:16 +0900 (Sun, 24 Jan 2016) | 4 lines test_class.rb: test_namescope_error_message * test/ruby/test_class.rb (test_namescope_error_message): test for r53644. ------------------------------------------------------------------------ r53644 | normal | 2016-01-24 19:36:16 +0900 (Sun, 24 Jan 2016) | 10 lines vm_insnhelper.c (vm_check_if_namespace): tiny size reduction Take advantage of "%+" modifier in the format string instead of explicitly calling rb_inspect to reduce object size. On x86 32-bit: text data bss dec hex filename before: 2949572 12448 30680 2992700 2daa3c miniruby after: 2949464 12448 30680 2992592 2da9d0 miniruby ------------------------------------------------------------------------ r53643 | duerst | 2016-01-24 18:13:30 +0900 (Sun, 24 Jan 2016) | 3 lines * common.mk: Simplifying Unicode data file download logic to make it more reliable (including additional fix not in r53633) [Bug #12007] ------------------------------------------------------------------------ r53642 | nobu | 2016-01-24 16:55:05 +0900 (Sun, 24 Jan 2016) | 5 lines wait readable/writable * ext/io/wait/wait.c (io_wait_readwrite): [EXPERIMENTAL] allow to wait for multiple modes, readable and writable, at once. the arguments may change in the future. [Feature #12013] ------------------------------------------------------------------------ r53641 | svn | 2016-01-24 14:30:55 +0900 (Sun, 24 Jan 2016) | 1 line * 2016-01-24 ------------------------------------------------------------------------ r53640 | nobu | 2016-01-24 14:30:54 +0900 (Sun, 24 Jan 2016) | 4 lines test_io_wait.rb: wait_readable * test/io/wait/test_io_wait.rb: add tests for IO#wait_readable, same as IO#wait. ------------------------------------------------------------------------ r53639 | nobu | 2016-01-23 22:31:51 +0900 (Sat, 23 Jan 2016) | 4 lines Add test for Array#keep_if * test/ruby/test_array.rb (test_keep_if): Add test for Array#keep_if separate from Array#select! [Fix GH-1218] ------------------------------------------------------------------------ r53638 | nobu | 2016-01-23 22:27:13 +0900 (Sat, 23 Jan 2016) | 4 lines appveyor.yml: simplify * appveyor.yml (install, build_script): simplify by using same opt dir for libressl and zlib. ------------------------------------------------------------------------ r53637 | hsbt | 2016-01-23 20:55:32 +0900 (Sat, 23 Jan 2016) | 2 lines * common.mk: revert r53633. It broke rubyci and travis. https://travis-ci.org/ruby/ruby/builds/104259623 ------------------------------------------------------------------------ r53636 | shugo | 2016-01-23 20:19:22 +0900 (Sat, 23 Jan 2016) | 1 line fix typo. ------------------------------------------------------------------------ r53635 | shugo | 2016-01-23 20:16:09 +0900 (Sat, 23 Jan 2016) | 5 lines * range.c (range_eqq): revert r11113 because rb_call_super() is called in range_include() and thus r11113 doesn't work when the receiver Range object consists of non linear objects such as Date objects. [ruby-core:72908] [Bug #12003] ------------------------------------------------------------------------ r53634 | duerst | 2016-01-23 18:38:50 +0900 (Sat, 23 Jan 2016) | 7 lines ChangeLog: Fixing wrong time on previous commit, and adding previous commit message to svn [ci skip] The message on the previous commit should have read: common.mk: Simplifying Unicode data file download logic to make it more reliable [Bug #12007] ------------------------------------------------------------------------ r53633 | duerst | 2016-01-23 18:32:44 +0900 (Sat, 23 Jan 2016) | 1 line ------------------------------------------------------------------------ r53632 | nobu | 2016-01-23 17:18:17 +0900 (Sat, 23 Jan 2016) | 4 lines appveyor.yml: exclude unavailable extensions * appveyor.yml (build_script): exclude unavailable extensions, gdb, gdbm, readline, and tk/tkutil. ------------------------------------------------------------------------ r53631 | duerst | 2016-01-23 16:30:32 +0900 (Sat, 23 Jan 2016) | 2 lines * tool/downloader.rb: Fixed a logical error, improved documentation ------------------------------------------------------------------------ r53630 | kazu | 2016-01-23 14:19:42 +0900 (Sat, 23 Jan 2016) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53629 | nobu | 2016-01-23 11:43:34 +0900 (Sat, 23 Jan 2016) | 4 lines Use SVG Travis badge over PNG * README.md: Use SVG Travis badge over PNG for better quality and devise support. [Fix GH-1214] [Fix GH-1216] ------------------------------------------------------------------------ r53628 | nobu | 2016-01-23 11:30:07 +0900 (Sat, 23 Jan 2016) | 4 lines Update documentation of CSV header converter * lib/csv.rb: Update documentation of CSV header converter for r45498, [GH-575]. [Fix GH-1215] ------------------------------------------------------------------------ r53627 | nobu | 2016-01-23 11:15:56 +0900 (Sat, 23 Jan 2016) | 4 lines configure.bat: put a space * win32/configure.bat: put a space after replaced string to get rid of something weird sometimes. ------------------------------------------------------------------------ r53626 | shugo | 2016-01-23 00:49:49 +0900 (Sat, 23 Jan 2016) | 2 lines * win32/configure.bat: set svn:eol-style to CRLF. ------------------------------------------------------------------------ r53625 | svn | 2016-01-23 00:13:17 +0900 (Sat, 23 Jan 2016) | 1 line * 2016-01-23 ------------------------------------------------------------------------ r53624 | svn | 2016-01-23 00:13:17 +0900 (Sat, 23 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53623 | nobu | 2016-01-23 00:13:16 +0900 (Sat, 23 Jan 2016) | 4 lines configure.bat: fix strange goto * win32/configure.bat: get rid of wrong goto destination by putting something before LF. ------------------------------------------------------------------------ r53622 | svn | 2016-01-22 23:40:48 +0900 (Fri, 22 Jan 2016) | 1 line * properties. ------------------------------------------------------------------------ r53621 | nobu | 2016-01-22 23:40:47 +0900 (Fri, 22 Jan 2016) | 3 lines configure.bat: set eol-style * win32/configure.bat: should be CRLF eol-style. ------------------------------------------------------------------------ r53620 | svn | 2016-01-22 23:28:33 +0900 (Fri, 22 Jan 2016) | 1 line * properties. ------------------------------------------------------------------------ r53619 | nobu | 2016-01-22 23:28:31 +0900 (Fri, 22 Jan 2016) | 4 lines configure.bat: --with-libdir * win32/configure.bat: add --with-libdir option for basename of libdir. on Windows it must be placed under exec_prefix always. ------------------------------------------------------------------------ r53618 | nobu | 2016-01-22 21:30:31 +0900 (Fri, 22 Jan 2016) | 5 lines common.mk: source dependency for nmake * common.mk (ext/rbconfig/sizeof/sizes.c): separate the dependency with VPATH and the command, get rid of weird VPATH behavior of nmake. ------------------------------------------------------------------------ r53617 | nobu | 2016-01-22 20:22:27 +0900 (Fri, 22 Jan 2016) | 4 lines common.mk: probes.dmyh for nmake * common.mk (probes.dmyh): separate the dependency and the command, get rid of weird VPATH behavior of nmake. ------------------------------------------------------------------------ r53616 | nobu | 2016-01-22 17:37:36 +0900 (Fri, 22 Jan 2016) | 3 lines vm_core.h: use RUBY_ASSERT * vm_core.h (VM_ASSERT): use RUBY_ASSERT instead of rb_bug. ------------------------------------------------------------------------ r53615 | nobu | 2016-01-22 17:33:55 +0900 (Fri, 22 Jan 2016) | 4 lines RUBY_ASSERT * error.c (rb_assert_failure): assertion with stack dump. * ruby_assert.h (RUBY_ASSERT): new header for the assertion. ------------------------------------------------------------------------ r53614 | naruse | 2016-01-22 16:02:37 +0900 (Fri, 22 Jan 2016) | 1 line Add badges ------------------------------------------------------------------------ r53613 | naruse | 2016-01-22 15:26:57 +0900 (Fri, 22 Jan 2016) | 1 line remove to allow trunk ------------------------------------------------------------------------ r53612 | naruse | 2016-01-22 15:09:19 +0900 (Fri, 22 Jan 2016) | 1 line Add appveyor.yml ------------------------------------------------------------------------ r53611 | svn | 2016-01-22 01:09:10 +0900 (Fri, 22 Jan 2016) | 1 line * 2016-01-22 ------------------------------------------------------------------------ r53610 | naruse | 2016-01-22 01:09:09 +0900 (Fri, 22 Jan 2016) | 4 lines * regparse.c (fetch_name_with_level): allow non word characters at the first character. [Feature #11949] * regparse.c (fetch_name): ditto. ------------------------------------------------------------------------ r53609 | naruse | 2016-01-21 17:36:01 +0900 (Thu, 21 Jan 2016) | 3 lines * marshal.c (r_object0): honor Marshal.load post proc value for TYPE_LINK. by Hiroshi Nakamura <nahi@ruby-lang.org> https://github.com/ruby/ruby/pull/1204 fix GH-1204 ------------------------------------------------------------------------ r53607 | naruse | 2016-01-21 16:40:17 +0900 (Thu, 21 Jan 2016) | 1 line * Makefile.in (update-rubyspec): fix r53208 like r53451. ------------------------------------------------------------------------ r53606 | nobu | 2016-01-21 15:58:03 +0900 (Thu, 21 Jan 2016) | 4 lines common.mk: update-config_files is back * common.mk (update-config_files): move back from Makefile.in, needs to be here for .travis.yml. ------------------------------------------------------------------------ r53605 | svn | 2016-01-21 15:23:19 +0900 (Thu, 21 Jan 2016) | 1 line * 2016-01-21 ------------------------------------------------------------------------ r53604 | nobu | 2016-01-21 15:23:18 +0900 (Thu, 21 Jan 2016) | 4 lines test_io_m17n.rb: BOM with non-UTF * test/ruby/test_io_m17n.rb (test_bom_non_utf): assert BOM with non-UTF encoding in encoding option, for r53084. ------------------------------------------------------------------------ r53603 | usa | 2016-01-20 21:09:39 +0900 (Wed, 20 Jan 2016) | 2 lines * ChangeLog: typo. ------------------------------------------------------------------------ r53602 | usa | 2016-01-20 21:00:14 +0900 (Wed, 20 Jan 2016) | 3 lines * common.mk, Makefile.in: update-config.files is only for Unix platforms. ------------------------------------------------------------------------ r53601 | nobu | 2016-01-20 17:17:57 +0900 (Wed, 20 Jan 2016) | 4 lines vcs.rb: git worktree * tool/vcs.rb (VCS.detect, VCS::GIT): support working directory created by `git worktree`. ------------------------------------------------------------------------ r53600 | nobu | 2016-01-20 17:16:39 +0900 (Wed, 20 Jan 2016) | 1 line ChangeLog: fix commit log of r53599 ------------------------------------------------------------------------ r53599 | nobu | 2016-01-20 17:14:24 +0900 (Wed, 20 Jan 2016) | 1 line extlibs.rb: add --cache option ------------------------------------------------------------------------ r53596 | svn | 2016-01-20 03:42:37 +0900 (Wed, 20 Jan 2016) | 1 line * 2016-01-20 ------------------------------------------------------------------------ r53595 | headius | 2016-01-20 03:42:36 +0900 (Wed, 20 Jan 2016) | 3 lines file.c: fix documentation * file.c: mode is optional, defaults to 0666. ------------------------------------------------------------------------ r53594 | nobu | 2016-01-19 20:04:52 +0900 (Tue, 19 Jan 2016) | 4 lines configure.in: suppress warnings * configure.in (warnflags): suppress warnings caused by macro expansion with clang (and maybe -save-temps option). ------------------------------------------------------------------------ r53593 | nobu | 2016-01-19 19:39:42 +0900 (Tue, 19 Jan 2016) | 1 line ripper: clean timestamp ------------------------------------------------------------------------ r53592 | nobu | 2016-01-19 18:50:27 +0900 (Tue, 19 Jan 2016) | 4 lines configure.in: suppress warnings * configure.in (warnflags): suppress warnings caused by macro expansion with clang. ------------------------------------------------------------------------ r53591 | nobu | 2016-01-19 17:36:02 +0900 (Tue, 19 Jan 2016) | 3 lines io.c: suppress warning * io.c (rb_update_max_fd): get rid of unused-value warning. ------------------------------------------------------------------------ r53590 | duerst | 2016-01-19 17:04:21 +0900 (Tue, 19 Jan 2016) | 3 lines * common.mk: Added Unicode data file CaseFolding.txt to be additionally downloaded (with Kimihito Matsui) ------------------------------------------------------------------------ r53589 | nobu | 2016-01-19 14:41:11 +0900 (Tue, 19 Jan 2016) | 4 lines make-snapshot: remove Unicode data * make-snapshot: remove Unicode data files, which are not necessary once all source have been generated. ------------------------------------------------------------------------ r53588 | nobu | 2016-01-19 14:05:47 +0900 (Tue, 19 Jan 2016) | 7 lines make-snapshot: download first * common.mk (update-download): split to download only, excluding VCS. * make-snapshot: download config, Unicode data, gem, and external library files first. ------------------------------------------------------------------------ r53587 | nobu | 2016-01-19 11:55:34 +0900 (Tue, 19 Jan 2016) | 1 line TestISeq.rb: exclude time consuming GC test ------------------------------------------------------------------------ r53586 | naruse | 2016-01-19 11:52:37 +0900 (Tue, 19 Jan 2016) | 3 lines increase timeout for ARMv7 http://rubyci.s3.amazonaws.com/scw-9d6766/ruby-trunk/log/20160113T091704Z.diff.html.gz ------------------------------------------------------------------------ r53585 | nobu | 2016-01-19 11:39:07 +0900 (Tue, 19 Jan 2016) | 4 lines common.mk: fix dependency * common.mk (.unicode-tables.time): should not depend on files which are not downloaded yet, but just the timestamp for them. ------------------------------------------------------------------------ r53584 | nobu | 2016-01-19 11:30:17 +0900 (Tue, 19 Jan 2016) | 3 lines common.mk: update-remote * common.mk (update-remote): update by downloading remote files. ------------------------------------------------------------------------ r53583 | sho-h | 2016-01-19 11:03:50 +0900 (Tue, 19 Jan 2016) | 3 lines * lib/shell.rb (Shell.debug_output_exclusive_unlock): remove because Mutex#exclusive_unlock was already deleted. [fix GH-1185] ------------------------------------------------------------------------ r53582 | sho-h | 2016-01-19 09:54:54 +0900 (Tue, 19 Jan 2016) | 2 lines * error.c: [DOC] fix Exception#backtrace_locations indent. [ci skip] ------------------------------------------------------------------------ r53581 | svn | 2016-01-19 09:39:12 +0900 (Tue, 19 Jan 2016) | 1 line * 2016-01-19 ------------------------------------------------------------------------ r53580 | hsbt | 2016-01-19 09:39:12 +0900 (Tue, 19 Jan 2016) | 2 lines * vm_method.c: fix grammar in respond_to? warning. [fix GH-1047] ------------------------------------------------------------------------ r53578 | nobu | 2016-01-18 22:49:51 +0900 (Mon, 18 Jan 2016) | 4 lines ruby-additional.el: ruby-decode-unicode * misc/ruby-additional.el (ruby-decode-unicode): new function to convert escaped Unicode to raw string. ------------------------------------------------------------------------ r53577 | nobu | 2016-01-18 21:48:41 +0900 (Mon, 18 Jan 2016) | 4 lines unicode_norm_gen.tmpl: Remove indicator * template/unicode_norm_gen.tmpl: Remove indicator for "frozen_string_literal: true", as r52526. ------------------------------------------------------------------------ r53576 | nobu | 2016-01-18 20:50:06 +0900 (Mon, 18 Jan 2016) | 1 line parse.y: show operations on BITSTACK ------------------------------------------------------------------------ r53575 | nobu | 2016-01-18 19:25:01 +0900 (Mon, 18 Jan 2016) | 4 lines common.mk: UPDATE_LIBRARIES to yes * common.mk (UPDATE_LIBRARIES): try to update unicode files by default. ------------------------------------------------------------------------ r53574 | nobu | 2016-01-18 19:21:03 +0900 (Mon, 18 Jan 2016) | 6 lines common.mk: get rid of repeating same names * common.mk (download-unicode-data): strip directory paths from the target names, to get rid of repeating same file names. * tool/downloader.rb: add -p option for prefix. ------------------------------------------------------------------------ r53573 | nobu | 2016-01-18 14:37:48 +0900 (Mon, 18 Jan 2016) | 5 lines parse.y: escaped newline in dedenting heredoc * parse.y (parser_here_document): an escaped newline is not an actual newline, and the rest part should not be dedented. [ruby-core:72855] [Bug #11989] ------------------------------------------------------------------------ r53572 | hsbt | 2016-01-18 12:05:20 +0900 (Mon, 18 Jan 2016) | 2 lines * test/ruby/test_string.rb: Added extra testcase for test_rstrip_bang and test_lstrip_bang. [fix GH-1178] Patch by @Matrixbirds ------------------------------------------------------------------------ r53571 | hsbt | 2016-01-18 11:48:24 +0900 (Mon, 18 Jan 2016) | 1 line * string.c: fix a typo. [fix GH-1202][ci skip] Patch by @sunboshan ------------------------------------------------------------------------ r53570 | nobu | 2016-01-18 01:14:44 +0900 (Mon, 18 Jan 2016) | 4 lines test_syntax.rb: try all * test/ruby/test_syntax.rb (assert_dedented_heredoc): try all terminators regardless failures. ------------------------------------------------------------------------ r53569 | svn | 2016-01-18 01:11:58 +0900 (Mon, 18 Jan 2016) | 1 line * 2016-01-18 ------------------------------------------------------------------------ r53568 | nobu | 2016-01-18 01:11:57 +0900 (Mon, 18 Jan 2016) | 4 lines remove extra dot * test/lib/test/unit/assertions.rb (all_assertions): remove tail dot as it is added in message again. ------------------------------------------------------------------------ r53566 | naruse | 2016-01-17 21:20:15 +0900 (Sun, 17 Jan 2016) | 13 lines * configure.in: improve ICC (Intel C Compiler) support. * configure.in (CXX): The name of icc's c++ compiler is `icpc`. * configure.in (warnings): Add `-diag-disable=2259` to suppress noisy warnings: "non-pointer conversion from "..." to "..." may lose significant bits". * configure.in (optflags): Add `-fp-model precise` like -fno-fast-math. * lib/mkmf.rb: icc supports -Werror=division-by-zero and -Werror=deprecated-declarations, but doesn't support -Wdivision-by-zero and -Wdeprecated-declarations. ------------------------------------------------------------------------ r53565 | duerst | 2016-01-17 20:40:46 +0900 (Sun, 17 Jan 2016) | 6 lines * string.c: Any kind of option is now taking the new code path for upcase/downcase/capitalize/swapcase. :lithuanian can be used for testing if no specific option is desired. * test/ruby/enc/test_case_mapping.rb: Adjusted to above. (with Kimihito Matsui) ------------------------------------------------------------------------ r53564 | duerst | 2016-01-17 20:10:45 +0900 (Sun, 17 Jan 2016) | 4 lines * enc/unicode.c: Fixed a logical error and some comments. * test/ruby/enc/test_case_mapping.rb: Made tests more general. (with Kimihito Matsui) ------------------------------------------------------------------------ r53563 | nobu | 2016-01-17 18:03:11 +0900 (Sun, 17 Jan 2016) | 1 line get rid of non-ascii chars ------------------------------------------------------------------------ r53562 | duerst | 2016-01-17 17:42:16 +0900 (Sun, 17 Jan 2016) | 7 lines * enc/unicode.c: Removed artificial expansion for Turkic, added hand-coded support for Turkic, fixed logic for swapcase. * string.c: Made use of new case mapping code possible from upcase, capitalize, and swapcase (with :lithuanian as a guard). * test/ruby/enc/test_case_mapping.rb: Adjusted for above. (with Kimihito Matsui) ------------------------------------------------------------------------ r53561 | nobu | 2016-01-17 15:31:36 +0900 (Sun, 17 Jan 2016) | 5 lines option.c: single byte boolean * ext/socket/option.c (sockopt_bool): relax boolean size to be one too not only sizeof(int). Winsock getsockopt() returns a single byte as a boolean socket option. [ruby-core:72730] [Bug #11958] ------------------------------------------------------------------------ r53560 | nobu | 2016-01-17 14:43:40 +0900 (Sun, 17 Jan 2016) | 5 lines Add a test case for ENV#select_bang,keep_if * test/ruby/test_env.rb: [Fix GH-1201] * Extract test code for ENV#keep_if from ENV#select_bang * Add a test case for ENV#select_bang,keep_if ------------------------------------------------------------------------ r53559 | nobu | 2016-01-17 14:43:04 +0900 (Sun, 17 Jan 2016) | 5 lines Add a test case for ENV#reject_bang,delete_if * test/ruby/test_env.rb: [Fix GH-1201] * Extract test code for ENV#delete_if from ENV#reject_bang * Add a test case for ENV#reject_bang,delete_if ------------------------------------------------------------------------ r53558 | svn | 2016-01-17 14:41:02 +0900 (Sun, 17 Jan 2016) | 1 line * 2016-01-17 ------------------------------------------------------------------------ r53557 | nobu | 2016-01-17 14:41:01 +0900 (Sun, 17 Jan 2016) | 6 lines option.c: make error messages consistent * ext/socket/option.c (check_size): extract a macro to check binary data size, with a consistent message. * ext/socket/option.c (sockopt_byte): fix error message, sizeof(int) differs from sizeof(unsigned char) in general. ------------------------------------------------------------------------ r53556 | kazu | 2016-01-16 23:53:06 +0900 (Sat, 16 Jan 2016) | 1 line fix typos [ci skip] ------------------------------------------------------------------------ r53555 | nobu | 2016-01-16 21:16:59 +0900 (Sat, 16 Jan 2016) | 5 lines parse.y: should not deent concatenated string * parse.y (xstring): reset heredoc indent after dedenting, so that following string literal would not be dedented. [ruby-core:72857] [Bug #11990] ------------------------------------------------------------------------ r53554 | duerst | 2016-01-16 17:24:58 +0900 (Sat, 16 Jan 2016) | 5 lines * enc/unicode.c: Artificial mapping to test buffer expansion code. * string.c: Fixed buffer expansion logic. * test/ruby/enc/test_case_mapping.rb: Tests for above. (with Kimihito Matsui) ------------------------------------------------------------------------ r53553 | hsbt | 2016-01-16 16:51:24 +0900 (Sat, 16 Jan 2016) | 2 lines * ext/openssl/lib/openssl/pkey.rb: Added 2048 bit DH parameter. * test/openssl/test_pkey_dh.rb: ditto. ------------------------------------------------------------------------ r53552 | hsbt | 2016-01-16 10:51:58 +0900 (Sat, 16 Jan 2016) | 2 lines * enc/unicode.c: fix implicit conversion error with clang. fixup r53548. * string.c: ditto. ------------------------------------------------------------------------ r53551 | hsbt | 2016-01-16 10:37:47 +0900 (Sat, 16 Jan 2016) | 6 lines * common.mk: test-sample was changed to test-basic. [Feature #11982][ruby-core:72823] * basictest/runner.rb: ditto. rename from tool/rubytest.rb. * basictest/test.rb: ditto. rename from sample/test.rb. * defs/gmake.mk: picked from r53540 * sample/test.rb: backword compatibility for chkbuild. ------------------------------------------------------------------------ r53550 | svn | 2016-01-16 10:24:05 +0900 (Sat, 16 Jan 2016) | 1 line * 2016-01-16 ------------------------------------------------------------------------ r53549 | svn | 2016-01-16 10:24:04 +0900 (Sat, 16 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53548 | duerst | 2016-01-16 10:24:03 +0900 (Sat, 16 Jan 2016) | 5 lines * string.c, enc/unicode.c: New code path as a preparation for Unicode-wide case mapping. The code path is currently guarded by the :lithuanian option to avoid accidental problems in daily use. * test/ruby/enc/test_case_mapping.rb: Test for above. * string.c: function 'check_case_options': fixed logical errors ------------------------------------------------------------------------ r53547 | nobu | 2016-01-15 22:16:53 +0900 (Fri, 15 Jan 2016) | 3 lines .gdbinit: dump_node [ci skip] * .gdbinit (dump_node): dump NODE list in gdb. ------------------------------------------------------------------------ r53546 | nobu | 2016-01-15 22:15:39 +0900 (Fri, 15 Jan 2016) | 4 lines disable unaligned word access * include/ruby/defines.h, st.c: disable unaligned word access with gcc 6 or later. [Bug #11831] ------------------------------------------------------------------------ r53545 | nobu | 2016-01-15 22:12:17 +0900 (Fri, 15 Jan 2016) | 4 lines disable unaligned word access * regint.h: disable unaligned word access with gcc 6 or later. [Bug #11831] ------------------------------------------------------------------------ r53544 | nobu | 2016-01-15 22:08:45 +0900 (Fri, 15 Jan 2016) | 5 lines Revert r53539 and r53540 * basictest/test.rb: revert r53539 because it depends on r53537. * gmake.mk: ditto, revert r53540. ------------------------------------------------------------------------ r53543 | ngoto | 2016-01-15 20:25:29 +0900 (Fri, 15 Jan 2016) | 6 lines * regint.h (PLATFORM_UNALIGNED_WORD_ACCESS): The value of UNALIGNED_WORD_ACCESS should be used to determine whether unaligned word access is allowed or not. After this commit, ./configure CPPFLAGS="-DUNALIGNED_WORD_ACCESS=0" disables unaligned word access even on platforms that support the feature. ------------------------------------------------------------------------ r53542 | naruse | 2016-01-15 20:05:51 +0900 (Fri, 15 Jan 2016) | 4 lines Revert "* common.mk: test-sample was changed to test-basic." This reverts r53537. Fix chkbuild first. ------------------------------------------------------------------------ r53541 | nobu | 2016-01-15 16:12:46 +0900 (Fri, 15 Jan 2016) | 5 lines parse.y: should not deent concatenated string * parse.y (string1): reset heredoc indent fore each string leteral so that concatenated string would not be dedented. [ruby-core:72857] [Bug #11990] ------------------------------------------------------------------------ r53540 | nobu | 2016-01-15 13:39:35 +0900 (Fri, 15 Jan 2016) | 4 lines gmake.mk: update order * defs/gmake.mk (yes-test-basic): update the target name and the order of tests. [Feature #11982] ------------------------------------------------------------------------ r53539 | nobu | 2016-01-15 13:33:43 +0900 (Fri, 15 Jan 2016) | 4 lines basictest/test.rb: update message * basictest/test.rb (test_check): update the file name in messages, as r53537. [Feature #11982] ------------------------------------------------------------------------ r53538 | svn | 2016-01-15 09:25:47 +0900 (Fri, 15 Jan 2016) | 1 line * 2016-01-15 ------------------------------------------------------------------------ r53537 | hsbt | 2016-01-15 09:25:46 +0900 (Fri, 15 Jan 2016) | 4 lines * common.mk: test-sample was changed to test-basic. [Feature #11982][ruby-core:72823] * basictest/runner.rb: ditto. rename from tool/rubytest.rb. * basictest/test.rb: ditto. rename from sample/test.rb. ------------------------------------------------------------------------ r53535 | naruse | 2016-01-14 20:20:24 +0900 (Thu, 14 Jan 2016) | 3 lines * lib/uri/generic.rb (URI::Generic#to_s): change encoding to UTF-8 as Ruby 2.2/ by Koichi ITO <koic.ito@gmail.com> https://github.com/ruby/ruby/pull/1188 fix GH-1188 ------------------------------------------------------------------------ r53534 | nobu | 2016-01-14 17:36:49 +0900 (Thu, 14 Jan 2016) | 4 lines variable.c: matched backrefs only * variable.c (rb_f_global_variables): add matched back references only, as well as defiend? operator. ------------------------------------------------------------------------ r53533 | nobu | 2016-01-14 16:12:42 +0900 (Thu, 14 Jan 2016) | 3 lines sprintf.c: exact number * sprintf.c (rb_str_format): format exact number more exactly. ------------------------------------------------------------------------ r53532 | nobu | 2016-01-14 16:10:48 +0900 (Thu, 14 Jan 2016) | 4 lines test_sprintf.rb: simplify * test/ruby/test_sprintf.rb (test_rational): enumerate formatted flags and simplify. ------------------------------------------------------------------------ r53531 | hsbt | 2016-01-14 15:09:19 +0900 (Thu, 14 Jan 2016) | 3 lines * Remove 512-bit DH group. It's affected by LogJam Attack. https://weakdh.org/ [fix GH-1196][Bug #11968][ruby-core:72766] ------------------------------------------------------------------------ r53530 | nobu | 2016-01-14 11:45:03 +0900 (Thu, 14 Jan 2016) | 4 lines variable.c: $1..$9 in global_variables * variable.c (rb_f_global_variables): add $1..$9 only if $~ is set. fix the condition removed at r14014. ------------------------------------------------------------------------ r53529 | svn | 2016-01-14 11:15:01 +0900 (Thu, 14 Jan 2016) | 1 line * 2016-01-14 ------------------------------------------------------------------------ r53528 | nobu | 2016-01-14 11:15:00 +0900 (Thu, 14 Jan 2016) | 4 lines hash.c: trivial optimization * hash.c (rb_hash_initialize_copy): trivial optimization, copy HASH_PROC_DEFAULT bit directly. ------------------------------------------------------------------------ r53527 | hsbt | 2016-01-13 17:22:18 +0900 (Wed, 13 Jan 2016) | 1 line * .travis.yml: removed commented-out code. ------------------------------------------------------------------------ r53526 | hsbt | 2016-01-13 17:15:39 +0900 (Wed, 13 Jan 2016) | 1 line * .travis.yml: removed osx code. follow up with r53517 ------------------------------------------------------------------------ r53525 | nobu | 2016-01-13 17:05:07 +0900 (Wed, 13 Jan 2016) | 4 lines vm_eval.c: fstring format * vm_eval.c (make_no_method_exception): make format string fstring. ------------------------------------------------------------------------ r53524 | nobu | 2016-01-13 16:56:51 +0900 (Wed, 13 Jan 2016) | 4 lines iseq.c: mark parent iseq * iseq.c (rb_iseq_mark): mark parent iseq to prevent dynamically generated iseq by eval from GC. [ruby-core:72620] [Bug #11928] ------------------------------------------------------------------------ r53523 | naruse | 2016-01-13 13:02:31 +0900 (Wed, 13 Jan 2016) | 1 line fix previous commit ------------------------------------------------------------------------ r53522 | naruse | 2016-01-13 12:22:36 +0900 (Wed, 13 Jan 2016) | 1 line make CI output simpler ------------------------------------------------------------------------ r53521 | naruse | 2016-01-13 12:03:45 +0900 (Wed, 13 Jan 2016) | 4 lines don't replace job status, it consume log length count "The log length has exceeded the limit of 4 Megabytes (this usually means that test suite is raising the same exception over and over)." ------------------------------------------------------------------------ r53520 | nobu | 2016-01-13 11:24:07 +0900 (Wed, 13 Jan 2016) | 5 lines test_thread.rb: wait for the thread to sleep * test/ruby/test_thread.rb (test_thread_name): wait for the status of the subject thread to fix, so that the status does not change between two inspect methods. ------------------------------------------------------------------------ r53519 | naruse | 2016-01-13 11:04:18 +0900 (Wed, 13 Jan 2016) | 1 line try sudo:false on travis ------------------------------------------------------------------------ r53518 | normal | 2016-01-13 04:26:07 +0900 (Wed, 13 Jan 2016) | 22 lines resolve class name earlier and more consistently This further avoids class name resolution issues which came about due to relying on hash table ordering before r53376. Pre-caching the class name when it is never used raises memory use, but the overall gain from moving away from st still gives us a small gain. Reverting r53376 and this patch and testing with "valgrind -v ./ruby -rrdoc -eexit" on x86 (32-bit) shows: before: in use at exit: 1,662,239 bytes in 25,286 blocks total heap usage: 49,514 allocs, 24,228 frees, 6,005,561 bytes allocated after, with this change: in use at exit: 1,646,529 bytes in 24,572 blocks total heap usage: 48,891 allocs, 24,319 frees, 6,003,921 bytes allocated * class.c (Init_class_hierarchy): resolve name for rb_cObject ASAP * object.c (rb_mod_const_set): move name resolution to rb_const_set * variable.c (rb_const_set): do class resolution here [ruby-core:72807] [Bug #11977] ------------------------------------------------------------------------ r53517 | naruse | 2016-01-13 02:10:27 +0900 (Wed, 13 Jan 2016) | 1 line drop osx and clang because they are often fails and slow ------------------------------------------------------------------------ r53516 | nobu | 2016-01-13 00:37:42 +0900 (Wed, 13 Jan 2016) | 3 lines Fix typo [ci skip] * man/ruby.1: fix double word typo. [Fix GH-1194] ------------------------------------------------------------------------ r53515 | svn | 2016-01-13 00:17:20 +0900 (Wed, 13 Jan 2016) | 1 line * 2016-01-13 ------------------------------------------------------------------------ r53514 | nobu | 2016-01-13 00:17:19 +0900 (Wed, 13 Jan 2016) | 5 lines iseq.c: mark parents of wrapped iseq * iseq.c (iseqw_mark): as wrapped iseq is isolated from the call stack, it needs to take care of its parent and ancestors, so that they do not become orphans. [ruby-core:72620] [Bug #11928] ------------------------------------------------------------------------ r53513 | eregon | 2016-01-12 21:05:41 +0900 (Tue, 12 Jan 2016) | 1 line * common.mk: update URL and name for the Ruby spec suite. ------------------------------------------------------------------------ r53512 | sorah | 2016-01-12 20:23:05 +0900 (Tue, 12 Jan 2016) | 1 line correction to proper word ------------------------------------------------------------------------ r53511 | sorah | 2016-01-12 20:19:25 +0900 (Tue, 12 Jan 2016) | 13 lines * lib/forwardable.rb: Convert given accessors to String. r53381 changed to accept only Symbol or String for accessors, but there are several rubygems that pass classes (e.g. Array, Hash, ...) as accessors. Prior r53381, it was accepted because Class#to_s returns its class name. After r53381 given accessors are checked with define_method, but it accepts only Symbol or String, otherwise raises TypeError. def_delegator Foo, :some_method This change is to revert unwanted incompatibility. But this behavior may change in the future. ------------------------------------------------------------------------ r53510 | duerst | 2016-01-12 18:42:07 +0900 (Tue, 12 Jan 2016) | 1 line string.c: made a variable name more grammatically correct ------------------------------------------------------------------------ r53509 | duerst | 2016-01-12 18:35:00 +0900 (Tue, 12 Jan 2016) | 1 line string.c: minor grammar fix [ci skip] ------------------------------------------------------------------------ r53507 | naruse | 2016-01-12 16:44:18 +0900 (Tue, 12 Jan 2016) | 1 line fix test to follow r53503 ------------------------------------------------------------------------ r53506 | svn | 2016-01-12 16:09:35 +0900 (Tue, 12 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53505 | duerst | 2016-01-12 16:09:35 +0900 (Tue, 12 Jan 2016) | 3 lines test/ruby/enc/test_casing_options.rb: Tests for option parsing/checking for upcase/downcase/capitalize/swapcase (see r53503; with Kimihito Matsui) ------------------------------------------------------------------------ r53504 | svn | 2016-01-12 16:03:32 +0900 (Tue, 12 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53503 | duerst | 2016-01-12 16:03:31 +0900 (Tue, 12 Jan 2016) | 2 lines string.c: Added option parsing/checking for upcase/downcase/ capitalize/swapcase (with Kimihito Matsui ------------------------------------------------------------------------ r53501 | svn | 2016-01-12 10:51:02 +0900 (Tue, 12 Jan 2016) | 1 line * 2016-01-12 ------------------------------------------------------------------------ r53500 | nobu | 2016-01-12 10:51:01 +0900 (Tue, 12 Jan 2016) | 3 lines escape brackets * configure.in: escape char class brackets in regexp. ------------------------------------------------------------------------ r53499 | duerst | 2016-01-11 21:28:55 +0900 (Mon, 11 Jan 2016) | 2 lines include/ruby/oniguruma.h: Added flags needed for upcase/downcase Unicode addition (with Kimihito Matsui) ------------------------------------------------------------------------ r53498 | nobu | 2016-01-11 09:50:51 +0900 (Mon, 11 Jan 2016) | 4 lines configure.in: check API version * configure.in: check if the API version number is consistent with the program version number. ------------------------------------------------------------------------ r53497 | svn | 2016-01-11 09:01:12 +0900 (Mon, 11 Jan 2016) | 1 line * 2016-01-11 ------------------------------------------------------------------------ r53496 | nobu | 2016-01-11 09:01:12 +0900 (Mon, 11 Jan 2016) | 4 lines io.h: remove old macros * include/ruby/io.h (RB_IO_BUFFER_INIT, RB_IO_FPTR_NEW): remove old macros only for internal use and obsolete since 2.2. ------------------------------------------------------------------------ r53495 | nobu | 2016-01-10 20:57:51 +0900 (Sun, 10 Jan 2016) | 5 lines compile.c: fix lhs splat in massign * compile.c (compile_massign_lhs): when index ends with splat, append rhs value to it like POSTARG, since VM_CALL_ARGS_SPLAT splats the last argument only. [ruby-core:72777] [Bug #11970] ------------------------------------------------------------------------ r53494 | nobu | 2016-01-10 18:43:47 +0900 (Sun, 10 Jan 2016) | 4 lines ext/-test-: reduce feature names * ext/-test-/**/extconf.rb: bring up extension libraries which have same name as the parent directory to reduce feature names. ------------------------------------------------------------------------ r53493 | nobu | 2016-01-10 15:45:36 +0900 (Sun, 10 Jan 2016) | 6 lines missing.h: remove explicit_bzero_by_memset_s * include/ruby/missing.h (explicit_bzero_by_memset_s): remove inline implementation by memset_s, which needs a macro before including headers and can cause problems in extension libraries by the order of the macro and headers. ------------------------------------------------------------------------ r53492 | normal | 2016-01-10 13:44:08 +0900 (Sun, 10 Jan 2016) | 10 lines io.c: remove obsolete rb_deferr global variable This was made obsolete by r4190 back in July 2003. Furthermore, this existed less than 3 months as it was only introduced in r3782. So with absolutely no references to rb_deferr, I doubt any vim plugin would care anymore. ChangeLog: fixup indent of my previous commit, oops :X ------------------------------------------------------------------------ r53491 | normal | 2016-01-10 13:43:41 +0900 (Sun, 10 Jan 2016) | 3 lines ChangeLog: fixup indent for r53488 Oops :x ------------------------------------------------------------------------ r53490 | nobu | 2016-01-10 11:07:00 +0900 (Sun, 10 Jan 2016) | 3 lines insns.def: description [ci skip] * insns.def: [DOC] add missing English description. ------------------------------------------------------------------------ r53489 | svn | 2016-01-10 09:35:44 +0900 (Sun, 10 Jan 2016) | 1 line * 2016-01-10 ------------------------------------------------------------------------ r53488 | normal | 2016-01-10 09:35:43 +0900 (Sun, 10 Jan 2016) | 22 lines stdlib: avoid extra calls to eliminate "\n" from Base64 We may use the '0' (zero) to avoid adding the line feed. Furthermore, the '*' (asterisk) modifier is not needed for a single-element arrays. * ext/psych/lib/psych/visitors/yaml_tree.rb (visit_String): eliminate chomp * lib/net/http.rb (connect): eliminate delete * lib/net/http/header.rb (basic_encode): ditto * lib/net/imap.rb (authenticate): eliminate gsub (self.encode_utf7): shorten delete arg * lib/net/smtp.rb (base64_encode): eliminate gsub * lib/open-uri.rb (OpenURI.open_http): eliminate delete * lib/rss/rss.rb: ditto * lib/securerandom.rb (base64): ditto (urlsafe_base64): eliminate delete! * lib/webrick/httpauth/digestauth.rb (split_param_value): eliminate chop * lib/webrick/httpproxy.rb (do_CONNECT): eliminate delete (setup_upstream_proxy_authentication): ditto [ruby-core:72666] [Feature #11938] ------------------------------------------------------------------------ r53487 | nobu | 2016-01-09 23:19:38 +0900 (Sat, 09 Jan 2016) | 4 lines test_hash.rb: add test * test/ruby/test_hash.rb (test_try_convert): Add test for Hash.try_convert. [Fix GH-1190] ------------------------------------------------------------------------ r53486 | nobu | 2016-01-09 23:15:49 +0900 (Sat, 09 Jan 2016) | 4 lines openssl: fix examples [ci skip] * ext/openssl/ossl.c: Add missing variables to documentation examples. [Fix GH-1189] ------------------------------------------------------------------------ r53485 | nobu | 2016-01-09 18:26:23 +0900 (Sat, 09 Jan 2016) | 4 lines symbol.h: unexpected safe call * symbol.h (is_attrset_id): ASET is an attrset ID. fix unexpected safe call instead of an ordinary ASET. ------------------------------------------------------------------------ r53484 | nobu | 2016-01-09 17:49:56 +0900 (Sat, 09 Jan 2016) | 5 lines nmake VPATH * ext/rbconfig/sizeof/depend (sizes.c): add nmake VPATH prefix. reapply r53482 with '#' as separator not to be removed in make-snapshot. ------------------------------------------------------------------------ r53483 | naruse | 2016-01-09 16:24:56 +0900 (Sat, 09 Jan 2016) | 4 lines Revert r53482 "nmake VPATH" it breaks `make dist`. http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20160109T034902Z.fail.html.gz ------------------------------------------------------------------------ r53482 | nobu | 2016-01-09 12:33:20 +0900 (Sat, 09 Jan 2016) | 3 lines nmake VPATH * ext/rbconfig/sizeof/depend (sizes.c): add nmake VPATH prefix. ------------------------------------------------------------------------ r53481 | nobu | 2016-01-09 12:32:43 +0900 (Sat, 09 Jan 2016) | 6 lines probes.h including dummy header * Makefile.in, win32/Makefile.sub (probes.h): include dummy header instead of copying. * common.mk (probes.dmyh): add nmake VPATH prefix. ------------------------------------------------------------------------ r53480 | nobu | 2016-01-09 11:46:31 +0900 (Sat, 09 Jan 2016) | 4 lines fix rc files conflict in parallel build * cygwin/GNUmakefile.in (%.rc): generate .rc files separately to get rid of conflict in parallel build. ------------------------------------------------------------------------ r53479 | nobu | 2016-01-09 11:15:45 +0900 (Sat, 09 Jan 2016) | 3 lines vcs.rb: srcdir accessor * tool/vcs.rb (VCS#srcdir): add accessor for VCS::GIT. ------------------------------------------------------------------------ r53478 | nobu | 2016-01-09 11:03:22 +0900 (Sat, 09 Jan 2016) | 4 lines use stringized macros * version.h (RUBY_COPYRIGHT): use stringized macros, RUBY_BIRTH_YEAR_STR and RUBY_RELEASE_YEAR_STR. ------------------------------------------------------------------------ r53477 | nobu | 2016-01-09 10:44:56 +0900 (Sat, 09 Jan 2016) | 5 lines RUBY_PROGRAM_VERSION from RUBY_VERSION * configure.in, win32/setup.mak: extract RUBY_PROGRAM_VERSION from RUBY_VERSION in version.h instead of RUBY_API_VERSION numbers in include/ruby/version.h, and cut it into version numbers. ------------------------------------------------------------------------ r53476 | nobu | 2016-01-09 10:02:17 +0900 (Sat, 09 Jan 2016) | 4 lines extract version from version.h * tool/mkconfig.rb: extract version numbers from version.h but not from API version in include/ruby/version.h. ------------------------------------------------------------------------ r53475 | nobu | 2016-01-09 09:23:04 +0900 (Sat, 09 Jan 2016) | 4 lines RUBY_RELEASE_DATE in verconf.mk * win32/setup.mak (verconf.mk): extract RUBY_RELEASE_DATE without quotation marks. ------------------------------------------------------------------------ r53474 | nobu | 2016-01-09 09:20:46 +0900 (Sat, 09 Jan 2016) | 4 lines fix library teeny * configure.in, win32/Makefile.sub: fix teeny of library version to 0. ------------------------------------------------------------------------ r53473 | nobu | 2016-01-09 09:20:11 +0900 (Sat, 09 Jan 2016) | 4 lines configure.in: RUBY_PROGRAM_VERSION * configure.in: use $(RUBY_PROGRAM_VERSION) instead of the triplet macros. ------------------------------------------------------------------------ r53472 | nobu | 2016-01-09 09:19:16 +0900 (Sat, 09 Jan 2016) | 5 lines revert r53459, r53427, r53314 Revert "* tool/make-snapshot: fix for the changes of version.h in r53314." Revert "* version.h (RUBY_BUILD_VERSION_STR_3): Workaround for old version of" Revert "program version from API version" ------------------------------------------------------------------------ r53471 | ko1 | 2016-01-09 07:15:40 +0900 (Sat, 09 Jan 2016) | 5 lines * gc.c: rename PAGE_* to HEAP_PAGE_* because PAGE_SIZE is used in Mac OS X. * test/ruby/test_gc.rb: catch up this fix. ------------------------------------------------------------------------ r53470 | ko1 | 2016-01-09 05:46:36 +0900 (Sat, 09 Jan 2016) | 2 lines * gc.c: PAGE_BITMAP_PLANES (the number of bitmap) is 4, not 3. ------------------------------------------------------------------------ r53469 | svn | 2016-01-09 05:45:03 +0900 (Sat, 09 Jan 2016) | 1 line * 2016-01-09 ------------------------------------------------------------------------ r53468 | ko1 | 2016-01-09 05:45:02 +0900 (Sat, 09 Jan 2016) | 6 lines * gc.c: rename constant names HEAP_* to PAGE_*. Keys of GC::INTERNAL_CONSTANTS are also renamed. * test/ruby/test_gc.rb: catch up this fix. ------------------------------------------------------------------------ r53467 | knu | 2016-01-08 22:34:52 +0900 (Fri, 08 Jan 2016) | 1 line * doc/regexp.rdoc: [DOC] Elaborate on the \G anchor. [ci skip] ------------------------------------------------------------------------ r53466 | ko1 | 2016-01-08 19:56:27 +0900 (Fri, 08 Jan 2016) | 3 lines * gc.c: remove heap_page::body. Instead of this field, heap_page::start field works well. ------------------------------------------------------------------------ r53465 | nobu | 2016-01-08 19:52:24 +0900 (Fri, 08 Jan 2016) | 4 lines iseq.c: volatile only on gcc4.8 * iseq.c (rb_iseq_compile_with_option): no volatile on gcc other than 4.8. ------------------------------------------------------------------------ r53464 | ko1 | 2016-01-08 19:34:14 +0900 (Fri, 08 Jan 2016) | 6 lines * gc.c: rename rb_heap_t::page_length to rb_heap_t::total_pages. `page_length' is not clear (we may understand with length of a page). ------------------------------------------------------------------------ r53463 | nobu | 2016-01-08 17:24:01 +0900 (Fri, 08 Jan 2016) | 4 lines test_tempfile.rb: use assert_file * test/test_tempfile.rb (test_create_with{,out}_block): use assert_file for descriptive failure messages. ------------------------------------------------------------------------ r53462 | svn | 2016-01-08 17:23:59 +0900 (Fri, 08 Jan 2016) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53461 | ko1 | 2016-01-08 17:23:58 +0900 (Fri, 08 Jan 2016) | 9 lines * gc.c: remove heap_page::heap. This field is only used to recognize whether a page is in a tomb or not. Instead of this field, heap_page::flags::in_tomb (1 bit field) is added. Also type of heap_page::(total|free|final)_slots are changed from int to short. 2B is enough for them. ------------------------------------------------------------------------ r53460 | nobu | 2016-01-08 16:47:49 +0900 (Fri, 08 Jan 2016) | 5 lines iseq.c: make local variables volatile * iseq.c (rb_iseq_compile_with_option): prepare arguments outside EXEC_TAG, and make local variables volatile not to be clobbered by longjmp. ------------------------------------------------------------------------ r53459 | shugo | 2016-01-08 12:35:06 +0900 (Fri, 08 Jan 2016) | 1 line * tool/make-snapshot: fix for the changes of version.h in r53314. ------------------------------------------------------------------------ r53458 | shugo | 2016-01-08 09:38:40 +0900 (Fri, 08 Jan 2016) | 2 lines * iseq.c (rb_iseq_compile_with_option): move variable initialization code to avoid maybe-uninitialized warnings by gcc 4.8. ------------------------------------------------------------------------ r53457 | svn | 2016-01-08 00:07:27 +0900 (Fri, 08 Jan 2016) | 1 line * 2016-01-08 ------------------------------------------------------------------------ r53456 | shugo | 2016-01-08 00:07:25 +0900 (Fri, 08 Jan 2016) | 1 line * enum.c (enum_min, enum_max): do the same optimization as r53454. ------------------------------------------------------------------------ r53455 | mrkn | 2016-01-07 22:35:32 +0900 (Thu, 07 Jan 2016) | 3 lines * ruby.h: undef HAVE_BUILTIN___BUILTIN_CHOOSE_EXPR_CONSTANT_P and HAVE_BUILTIN___BUILTIN_TYPES_COMPATIBLE_P on C++. [ruby-core:72736] [Bug #11962] ------------------------------------------------------------------------ r53454 | shugo | 2016-01-07 22:06:23 +0900 (Thu, 07 Jan 2016) | 2 lines * enum.c (enum_minmax): optimize object comparison in Enumerable#minmax. ------------------------------------------------------------------------ r53453 | usa | 2016-01-07 21:28:32 +0900 (Thu, 07 Jan 2016) | 5 lines * ext/ripper/depend: Just like BSDmake, nmake also recognize the rule of ".eventids2.check" as inference one. but nmake is not cheated by macro. this fixes build failure introduced at r53448. see also the commit log of r53452. ------------------------------------------------------------------------ r53452 | naruse | 2016-01-07 16:11:33 +0900 (Thu, 07 Jan 2016) | 5 lines fix r53448 avoid mkmf.rb's suffix rule scanner (lib/mkmf.rb:2085), it detects suffix rule from depend file and adds .SUFFIXES. It breaks bsdmake to generate check file named ".eventids2.check". ------------------------------------------------------------------------ r53451 | naruse | 2016-01-07 15:51:09 +0900 (Thu, 07 Jan 2016) | 1 line Additional fix of r53450 ------------------------------------------------------------------------ r53450 | nobu | 2016-01-07 15:37:44 +0900 (Thu, 07 Jan 2016) | 6 lines mkmf.rb: fix for ODE make * lib/mkmf.rb (create_makefile): get rid of placing @ at the beginning of replacement, which is the loop expansion mechanism from the OSF Development Environment (ODE) make. fix failures with bmake by r53448. ------------------------------------------------------------------------ r53449 | nobu | 2016-01-07 14:49:31 +0900 (Thu, 07 Jan 2016) | 6 lines thread.c: interrupt queue on uninitialized thread * thread.c (rb_thread_pending_interrupt_p): no pending interrupt before initialization. * thread.c (thread_raise_m, rb_thread_kill): uninitialized thread cannot interrupt. [ruby-core:72732] [Bug #11959] ------------------------------------------------------------------------ r53448 | nobu | 2016-01-07 12:06:58 +0900 (Thu, 07 Jan 2016) | 5 lines mkmf.rb: library installation messages * lib/mkmf.rb (configuration, dummy_makefile, create_makefile): show library installation messages only when any files need to be updated. ------------------------------------------------------------------------ r53447 | svn | 2016-01-07 11:34:34 +0900 (Thu, 07 Jan 2016) | 1 line * 2016-01-07 ------------------------------------------------------------------------ r53446 | nobu | 2016-01-07 11:34:33 +0900 (Thu, 07 Jan 2016) | 7 lines version.c: no exit in ruby_show_copyright * include/ruby/backward.h (ruby_show_copyright_to_die): for source code backward compatibility. * ruby.c (process_options): return Qtrue to exit the process successfully. * version.c (ruby_show_copyright): no longer exit. ------------------------------------------------------------------------ r53445 | svn | 2016-01-06 17:23:11 +0900 (Wed, 06 Jan 2016) | 1 line * 2016-01-06 ------------------------------------------------------------------------ r53444 | nobu | 2016-01-06 17:23:10 +0900 (Wed, 06 Jan 2016) | 4 lines optparse.rb: into kwdarg * lib/optparse.rb (OptionParser#order!): add `into` optional keyword argument to store the results. [Feature #11191] ------------------------------------------------------------------------ r53443 | nobu | 2016-01-05 23:07:58 +0900 (Tue, 05 Jan 2016) | 1 line id.h.tmpl: no optparse here ------------------------------------------------------------------------ r53442 | hsbt | 2016-01-05 21:44:56 +0900 (Tue, 05 Jan 2016) | 1 line * ChangeLog: fix wrong class name. ------------------------------------------------------------------------ r53441 | hsbt | 2016-01-05 21:44:55 +0900 (Tue, 05 Jan 2016) | 2 lines * test/ruby/test_string.rb(test_chr): added test for String#chr [fix GH-1179] ------------------------------------------------------------------------ r53440 | hsbt | 2016-01-05 21:32:43 +0900 (Tue, 05 Jan 2016) | 2 lines * test/ruby/test_numeric.rb (test_nonzero_p): added test for String#nonzero? [fix GH-1187] ------------------------------------------------------------------------ r53439 | nobu | 2016-01-05 15:09:17 +0900 (Tue, 05 Jan 2016) | 10 lines leakchecker.rb: remove temporary measure * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#watcher): make watcher thread restartable. * lib/webrick/utils.rb (WEBrick::Utils::TimeoutHandler#terminate): new method to terminate watcher thread. * test/lib/leakchecker.rb (LeakChecker#find_threads): revert r46941. ------------------------------------------------------------------------ r53438 | nobu | 2016-01-05 11:47:38 +0900 (Tue, 05 Jan 2016) | 4 lines Clarify object references example * doc/marshal.rdoc: Clarify object references example, that the reference is same object. [Fix GH-1156] ------------------------------------------------------------------------ r53437 | nobu | 2016-01-05 09:48:04 +0900 (Tue, 05 Jan 2016) | 5 lines enc/Makefile.in: get rid of nmake bug * enc/Makefile.in (ECHO1): expand NULLCMD by configured value to get rid of a bug of nmake, that it can expand bare single name variable but cannot in substition. ------------------------------------------------------------------------ r53436 | svn | 2016-01-05 05:45:15 +0900 (Tue, 05 Jan 2016) | 1 line * 2016-01-05 ------------------------------------------------------------------------ r53435 | normal | 2016-01-05 05:45:14 +0900 (Tue, 05 Jan 2016) | 8 lines stringio: binmode sets encoding to ASCII-8BIT This should match the behavior of IO#binmode as far as treating content as ASCII-8BIT (binary). * ext/stringio/stringio.c (strio_binmode): implement to set encoding * test/stringio/test_stringio.rb (test_binmode): new test [ruby-core:72699] [Bug #11945] ------------------------------------------------------------------------ r53434 | naruse | 2016-01-04 16:59:55 +0900 (Mon, 04 Jan 2016) | 1 line Revert r53431 "temporally revert r53411 to debug" ------------------------------------------------------------------------ r53433 | nobu | 2016-01-04 16:47:44 +0900 (Mon, 04 Jan 2016) | 4 lines test_ostruct.rb: sort method names * test/ostruct/test_ostruct.rb (test_accessor_defines_method): should not depend on the order of methods. ------------------------------------------------------------------------ r53432 | nobu | 2016-01-04 16:27:02 +0900 (Mon, 04 Jan 2016) | 4 lines common.mk: double quotes * common.mk (ext/socket/constdefs.c): use double quotes to get rid of escape by caret in nmake. ------------------------------------------------------------------------ r53431 | naruse | 2016-01-04 16:23:25 +0900 (Mon, 04 Jan 2016) | 3 lines temporally revert r53411 to debug http://rubyci.s3.amazonaws.com/unstable11s/ruby-trunk/log/20151225T162507Z.diff.html.gz ------------------------------------------------------------------------ r53430 | nobu | 2016-01-04 16:16:09 +0900 (Mon, 04 Jan 2016) | 5 lines common.mk: generate socket constdefs * common.mk (ext/socket/constdefs.c): generate platform indenpendent constant definitions beforehand under the source tree at updating the working copy. ------------------------------------------------------------------------ r53429 | sho-h | 2016-01-04 16:08:05 +0900 (Mon, 04 Jan 2016) | 3 lines variable.c (rb_mod_deprecate_constant): [DOC] added documentation for Module#deprecate_constant. [ci skip] ------------------------------------------------------------------------ r53428 | sho-h | 2016-01-04 15:38:26 +0900 (Mon, 04 Jan 2016) | 2 lines thread_sync.c: [DOC] remove SizedQueue#close argument. [ci skip] ------------------------------------------------------------------------ r53427 | ngoto | 2016-01-04 12:12:44 +0900 (Mon, 04 Jan 2016) | 3 lines * version.h (RUBY_BUILD_VERSION_STR_3): Workaround for old version of Fujitsu C Compiler (fcc) on Solaris. [Bug #11944] [ruby-dev:49468] ------------------------------------------------------------------------ r53426 | nobu | 2016-01-04 10:50:06 +0900 (Mon, 04 Jan 2016) | 1 line ChangeLog: remove unnecessary preposition [ci skip] ------------------------------------------------------------------------ r53425 | nobu | 2016-01-04 10:46:36 +0900 (Mon, 04 Jan 2016) | 1 line ChangeLog: remove stale log [ci skip] ------------------------------------------------------------------------ r53424 | hsbt | 2016-01-04 10:14:45 +0900 (Mon, 04 Jan 2016) | 2 lines * test/coverage/test_coverage.rb: ignored test when enabled to coverage. It lead to crash with `make test-all`. ------------------------------------------------------------------------ r53423 | yui-knk | 2016-01-04 08:14:43 +0900 (Mon, 04 Jan 2016) | 7 lines Move a comment to the appropriate position. The position of `/* fall through */` was moved by r52931. * insns.def (opt_case_dispatch): Move a comment to the appropriate position. [ci skip] ------------------------------------------------------------------------ r53422 | nobu | 2016-01-04 00:24:10 +0900 (Mon, 04 Jan 2016) | 4 lines contributing.rdoc: update [ci skip] * doc/contributing.rdoc: mention some make targets, check, up, and love. ------------------------------------------------------------------------ r53421 | svn | 2016-01-04 00:03:50 +0900 (Mon, 04 Jan 2016) | 1 line * 2016-01-04 ------------------------------------------------------------------------ r53420 | nobu | 2016-01-04 00:03:49 +0900 (Mon, 04 Jan 2016) | 3 lines common.mk: up in help * common.mk (help): mention `up` target briefly. ------------------------------------------------------------------------ r53419 | nobu | 2016-01-03 23:55:25 +0900 (Sun, 03 Jan 2016) | 5 lines Fix defined? expressions * lib/rubygems/security.rb (DIGEST_ALGORITHM, KEY_ALGORITHM): should check same name as the used constants. [ruby-core:72674] [Bug #11940] ------------------------------------------------------------------------ r53418 | nobu | 2016-01-03 23:19:09 +0900 (Sun, 03 Jan 2016) | 4 lines Makefile.in: drop dependency * Makefile.in (aclocal.m4): drop the dependency of aclocal.m4 for broken autotools installations. ------------------------------------------------------------------------ r53417 | nobu | 2016-01-03 19:22:12 +0900 (Sun, 03 Jan 2016) | 4 lines aclocal.m4: add * aclocal.m4: add fallback file for non-aclocal environments. [ruby-core:72683] [Bug #11942] ------------------------------------------------------------------------ r53416 | yui-knk | 2016-01-03 13:59:54 +0900 (Sun, 03 Jan 2016) | 8 lines Use `rb_method_visibility_t` instead of `int` in `rb_print_undef` * eval_error.c (rb_print_undef): Use `rb_method_visibility_t` instead of `int`. * eval_intern.h (rb_print_undef): ditto * proc.c (mnew_internal): ditto * vm_method.c (rb_export_method): ditto [Misc #11649] [ruby-core:71311] [fix GH-1078] ------------------------------------------------------------------------ r53415 | svn | 2016-01-03 12:12:21 +0900 (Sun, 03 Jan 2016) | 1 line * 2016-01-03 ------------------------------------------------------------------------ r53414 | nobu | 2016-01-03 12:12:20 +0900 (Sun, 03 Jan 2016) | 4 lines acinclude.m4: rename * acinclude.m4: rename aclocal.m4, which should be generated by aclocal. [ruby-core:72675] [Bug #11941] ------------------------------------------------------------------------ r53413 | normal | 2016-01-02 21:08:34 +0900 (Sat, 02 Jan 2016) | 11 lines thread_sync.c: remove unnecessary casts for queue_sleep "Qfalse" and "(VALUE)0" are equivalent, and do not matter for an ignored argument, either. Additionally, there's no reason to cast the pointer to rb_thread_sleep_deadly when we already have a queue_sleep wrapper. * thread_sync.c (queue_do_pop): avoid cast with Qfalse (rb_szqueue_push): ditto, use queue_sleep wrapper ------------------------------------------------------------------------ r53412 | seki | 2016-01-02 16:19:58 +0900 (Sat, 02 Jan 2016) | 1 line Allow ERB subclass to add token easily. [Feature #11936] ------------------------------------------------------------------------ r53411 | nobu | 2016-01-02 14:44:41 +0900 (Sat, 02 Jan 2016) | 4 lines parse.y: use nd_tag * parse.y (regexp): set_yylval_num sets u1, should use nd_tag instead of nd_state. [ruby-core:72638] [Bug #11932] ------------------------------------------------------------------------ r53410 | naruse | 2016-01-02 13:39:56 +0900 (Sat, 02 Jan 2016) | 3 lines Revert r53409 "parse.y: yylval.num should be u3" It introduces SEGV ------------------------------------------------------------------------ r53409 | nobu | 2016-01-02 11:11:09 +0900 (Sat, 02 Jan 2016) | 4 lines parse.y: yylval.num should be u3 * parse.y (set_yylval_num): should be used as nd_state, set to u3. [ruby-core:72638] [Bug #11932] ------------------------------------------------------------------------ r53408 | svn | 2016-01-02 08:47:24 +0900 (Sat, 02 Jan 2016) | 1 line * 2016-01-02 ------------------------------------------------------------------------ r53407 | marcandre | 2016-01-02 02:27:38 +0900 (Sat, 02 Jan 2016) | 2 lines * lib/ostruct.rb: Fix case of frozen object with initializer. Bug revealed by RubySpec [ruby-core:72639] ------------------------------------------------------------------------ r53406 | kazu | 2016-01-01 22:02:56 +0900 (Fri, 01 Jan 2016) | 1 line * NEWS: mention about CSV's liberal_parsing option. ------------------------------------------------------------------------ r53405 | hsbt | 2016-01-01 21:39:29 +0900 (Fri, 01 Jan 2016) | 1 line * ChangeLog: added missing reference for GitHub ------------------------------------------------------------------------ r53404 | hsbt | 2016-01-01 19:39:16 +0900 (Fri, 01 Jan 2016) | 1 line * doc/NEWS-2.3.0: fix double words typo. ------------------------------------------------------------------------ r53403 | nobu | 2016-01-01 15:28:58 +0900 (Fri, 01 Jan 2016) | 4 lines compile.c: adjust call_info count * compile.c (remove_unreachable_chunk): decrease count of call_info in removed instructions. fix up r53402. ------------------------------------------------------------------------ r53402 | nobu | 2016-01-01 12:05:55 +0900 (Fri, 01 Jan 2016) | 4 lines compile.c: remove unreferred label * compile.c (remove_unreachable_chunk): remove unreferred label to optimize away unreachable chunk. ------------------------------------------------------------------------ r53401 | jeg2 | 2016-01-01 11:44:48 +0900 (Fri, 01 Jan 2016) | 1 line Adding a liberal_parsing option to CSV. Patch by Braden Anderson. ------------------------------------------------------------------------ r53400 | nobu | 2016-01-01 10:27:30 +0900 (Fri, 01 Jan 2016) | 5 lines mkconfig.rb: SDKROOT * tool/mkconfig.rb (RbConfig): prefix SDKROOT to oldincludedir not includedir, the latter is outside the ruby installation. [ruby-core:72496] [Bug #11881] ------------------------------------------------------------------------ r53399 | nobu | 2016-01-01 08:53:04 +0900 (Fri, 01 Jan 2016) | 5 lines Add test for Enumerator::Lazy#take * test/ruby/test_lazy_enumerator.rb (test_take_bad_arg): Add test code in case of Enumerator::Lazy#take called with negative number. [ruby-dev:49467] [Bug #11933] ------------------------------------------------------------------------ r53398 | nobu | 2016-01-01 05:06:22 +0900 (Fri, 01 Jan 2016) | 5 lines parse.y: single-quote indented heredoc * parse.y (parser_here_document): update indent for each line in indented here document with single-quotes. [ruby-core:72479] [Bug #11871] ------------------------------------------------------------------------ r53397 | svn | 2016-01-01 03:26:59 +0900 (Fri, 01 Jan 2016) | 1 line * 2016-01-01 ------------------------------------------------------------------------ r53396 | nobu | 2016-01-01 03:26:46 +0900 (Fri, 01 Jan 2016) | 5 lines ostruct.rb: deferred accessors * lib/ostruct.rb (freeze): define deferred accessors before freezing to get rid of an error when just reading frozen OpenStruct. ------------------------------------------------------------------------ r53395 | marcandre | 2015-12-31 14:37:21 +0900 (Thu, 31 Dec 2015) | 2 lines * lib/ostruct.rb: Fix new_ostruct_member to correctly avoid redefinition [#11901] ------------------------------------------------------------------------ r53394 | nobu | 2015-12-31 10:49:27 +0900 (Thu, 31 Dec 2015) | 4 lines test_module.rb: sort constants * test/ruby/test_module.rb (test_classpath): since r53376, all results of Module#constants should be sorted to compare. ------------------------------------------------------------------------ r53393 | nobu | 2015-12-31 10:38:28 +0900 (Thu, 31 Dec 2015) | 4 lines ruby-additional.el: escape control code * misc/ruby-additional.el (ruby-encode-unicode): escape control code except for LF. ------------------------------------------------------------------------ r53392 | nobu | 2015-12-31 09:39:03 +0900 (Thu, 31 Dec 2015) | 4 lines ruby-additional.el: encode non-ASCII code only * misc/ruby-additional.el (ruby-encode-unicode): encode non-ASCII code only, excluding ASCII control code, e.g. \t, \n, etc. ------------------------------------------------------------------------ r53391 | naruse | 2015-12-31 04:06:55 +0900 (Thu, 31 Dec 2015) | 1 line skip if locale is not UTF-8 ------------------------------------------------------------------------ r53390 | naruse | 2015-12-31 02:47:43 +0900 (Thu, 31 Dec 2015) | 5 lines * test/ruby/test_module.rb (test_classpath): r53376 may change the order of m.constants. `make TESTS='-v ruby/test_class.rb ruby/test_module.rb' test-all` may fail after that. http://rubyci.s3.amazonaws.com/tk2-243-31075/ruby-trunk/log/20151230T164202Z.log.html.gz ------------------------------------------------------------------------ r53389 | svn | 2015-12-31 02:20:50 +0900 (Thu, 31 Dec 2015) | 1 line * 2015-12-31 ------------------------------------------------------------------------ r53388 | eregon | 2015-12-31 02:20:28 +0900 (Thu, 31 Dec 2015) | 1 line * common.mk (help): Fix typo. ------------------------------------------------------------------------ r53387 | hsbt | 2015-12-30 20:53:15 +0900 (Wed, 30 Dec 2015) | 2 lines * lib/net/http/responses.rb: Added new response class for 451 status code. * lib/net/http.rb: documentation for HTTPUnavailableForLegalReasons ------------------------------------------------------------------------ r53386 | hsbt | 2015-12-30 20:45:52 +0900 (Wed, 30 Dec 2015) | 3 lines * lib/webrick/httpstatus.rb: Added HTTP 451 Status Code. [fix GH-1167] Patch by @MuhammetDilmac https://tools.ietf.org/html/draft-tbray-http-legally-restricted-status-00 ------------------------------------------------------------------------ r53385 | hsbt | 2015-12-30 20:26:09 +0900 (Wed, 30 Dec 2015) | 2 lines * doc/syntax/calling_methods.rdoc: fix old operator for safe navigation operator. [ci skip][fix GH-1182] Patch by @dougo ------------------------------------------------------------------------ r53384 | nobu | 2015-12-30 16:43:25 +0900 (Wed, 30 Dec 2015) | 4 lines Add test for String#ord * test/ruby/test_string.rb (test_ord): Add test for String#ord. [Fix GH-1181] ------------------------------------------------------------------------ r53383 | nobu | 2015-12-30 11:28:59 +0900 (Wed, 30 Dec 2015) | 6 lines forwardable.rb: adjust backtrace by tail call * lib/forwardable.rb (def_instance_delegator): adjust backtrace of method body by tail call optimization. adjusting the delegated target is still done by deleting backtrace. * lib/forwardable.rb (def_single_delegator): ditto. ------------------------------------------------------------------------ r53382 | nobu | 2015-12-30 11:26:15 +0900 (Wed, 30 Dec 2015) | 3 lines fix commit miss * test/test_forwardable.rb: add tests for r53381. ------------------------------------------------------------------------ r53381 | nobu | 2015-12-30 11:18:44 +0900 (Wed, 30 Dec 2015) | 71 lines Forwardable: Fix delegating to 'args' and 'block' * lib/forwardable.rb (def_instance_delegator) fix delegating to 'args' and 'block', clashing with local variables in generated methods. [ruby-core:72579] [Bug #11916] * lib/forwardable.rb (def_single_delegator): ditto. If you have a class that uses Forwardable to delegate a method to another object, and the method that returns the delegate object is called `args` or `block`, then Forwardable will fail to work. Here's a simple example: class ModelCreator extend Forwardable attr_reader :args def_delegator :args, :model_name def initialize(args) @args = args end end ModelCreator.new.model_name If you run the last line above, then you'll get: NoMethodError: undefined method `model_name' for []:Array This error occurs because `def_delegator` -- as it is written in Ruby -- uses metaprogramming to add methods to the class that will then delegate to the delegate object. So it's as if we had written: class ModelCreator extend Forwardable attr_reader :args def model_name(*args, &block) args.model_name(*args, &block) end def initialize(args) @args = args end end As you can see, `def_delegator` will not only forward the method call onto the delegate object, it will also forward any arguments provided as well. It is here that the bug arises: it splats all of the arguments into a variable which is called `args`, and because of how variable scope works in Ruby, it then attempts to call `model_name` on *this* variable and *not* our delegate object method. The fix is to call the delegate object method manually using `__send__`. (This assumes, of course, that the given receiver is, in fact, the name of a method and not the name of an instance variable, which is also a possibility.) We use `__send__` because the delegate object method could be private. So, that looks like this: def model_name(*args, &block) __send__(:args).model_name(*args, &block) end Because `def_delegators` and `delegate` use `def_delegator` internally, they also get this fix as well. ------------------------------------------------------------------------ r53380 | nobu | 2015-12-30 09:58:58 +0900 (Wed, 30 Dec 2015) | 5 lines object.c: fix prepend cmp * object.c (rb_class_inherited_p): search the corresponding ancestor to prepended module from prepending class itself. [ruby-core:72493] [Bug #11878] ------------------------------------------------------------------------ r53379 | nobu | 2015-12-30 09:20:03 +0900 (Wed, 30 Dec 2015) | 5 lines test_io.rb: test for rb_io_modestr_fmode * test/stringio/test_io.rb (test_flag): add assertion for error when text and binary mode are mixed. [ruby-dev:49465] [Feature #11921] ------------------------------------------------------------------------ r53378 | nobu | 2015-12-30 08:44:01 +0900 (Wed, 30 Dec 2015) | 4 lines test_stringio.rb: test_initialize * test/stringio/test_stringio.rb (test_initialize): add test for StringIO#initialize. [ruby-core:72585] [Feature #11920] ------------------------------------------------------------------------ r53377 | normal | 2015-12-30 05:21:17 +0900 (Wed, 30 Dec 2015) | 4 lines ChangeLog: add entry for r53376 Oops :x [ruby-core:72112] [Feature #11614] ------------------------------------------------------------------------ r53376 | normal | 2015-12-30 05:19:14 +0900 (Wed, 30 Dec 2015) | 40 lines use id_table for constant tables valgrind 3.9.0 on x86-64 reports a minor reduction in memory usage when loading only RubyGems and RDoc by running: ruby -rrdoc -eexit before: HEAP SUMMARY: in use at exit: 2,913,448 bytes in 27,394 blocks total heap usage: 48,362 allocs, 20,968 frees, 9,034,621 bytes alloc after: HEAP SUMMARY: in use at exit: 2,880,056 bytes in 26,712 blocks total heap usage: 47,791 allocs, 21,079 frees, 9,046,507 bytes alloc * class.c (struct clone_const_arg): adjust for id_table (clone_const): ditto (clone_const_i): ditto (rb_mod_init_copy): ditto (rb_singleton_class_clone_and_attach): ditto (rb_include_class_new): ditto (include_modules_at): ditto * constant.h (rb_free_const_table): ditto * gc.c (free_const_entry_i): ditto (rb_free_const_table): ditto (obj_memsize_of): ditto (mark_const_entry_i): ditto (mark_const_tbl): ditto * internal.h (struct rb_classext_struct): ditto * object.c (rb_mod_const_set): resolve class name on assignment * variable.c (const_update): replace with const_tbl_update (const_tbl_update): new function (fc_i): adjust for id_table (find_class_path): ditto (autoload_const_set): st_update => const_tbl_update (rb_const_remove): adjust for id_table (sv_i): ditto (rb_local_constants_i): ditto (rb_local_constants): ditto (rb_mod_const_at): ditto (rb_mod_const_set): ditto (rb_const_lookup): ditto ------------------------------------------------------------------------ r53375 | nagachika | 2015-12-30 04:26:52 +0900 (Wed, 30 Dec 2015) | 2 lines * thread_pthread.c (rb_thread_create_timer_thread): destroy attr even if pthread_create() failed. ------------------------------------------------------------------------ r53374 | svn | 2015-12-30 03:20:33 +0900 (Wed, 30 Dec 2015) | 1 line * 2015-12-30 ------------------------------------------------------------------------ r53373 | normal | 2015-12-30 03:20:27 +0900 (Wed, 30 Dec 2015) | 36 lines thread_pthread.c (rb_thread_create_timer_thread): fix race This fixes an occasional [ASYNC BUG] failure in bootstraptest/test_fork.rb '[ruby-dev:37934]' which tests fork/pthread_create failure by setting RLIMIT_NPROC to 1 and triggering EAGAIN on pthread_create when attempting to recreate the timer thread. The problem timeline is as follows: thread 1 thread 2 --------------------------------------------------------------- rb_thread_create_timer_thread setup_communication_pipe rb_thread_wakeup_timer_thread_low pthread_create fails pipe looks valid, write! CLOSE_INVALIDATE (x4) EBADF -> ASYNC BUG The checks in rb_thread_wakeup_timer_thread_low only tried to guarantee proper ordering with native_stop_timer_thread, not rb_thread_create_timer_thread :x Now, this should allow rb_thread_create_timer_thread to synchronize properly with rb_thread_wakeup_timer_thread_low by delaying the validation marking of the timer_thread_pipe until we are certain the timer thread is alive. In this version, rb_thread_wakeup_timer_thread_low becomes a noop. Threading is still completely broken with NPROC==1, but there's not much we can do about it beside warn the user. We no longer spew a scary [ASYNC BUG] message or dump core on them. * thread_pthread.c (setup_communication_pipe): delay setting owner (rb_thread_create_timer_thread): until thread creation succeeds [ruby-core:72590] [Bug #11922] ------------------------------------------------------------------------ r53372 | nobu | 2015-12-29 21:23:04 +0900 (Tue, 29 Dec 2015) | 4 lines ruby.c: overriding warning options * ruby.c (proc_options): successive -W option overrides previous warning options. ------------------------------------------------------------------------ r53371 | nagachika | 2015-12-29 21:17:21 +0900 (Tue, 29 Dec 2015) | 1 line * ChangeLog: remove duplicated entries at r53366. ------------------------------------------------------------------------ r53370 | nobu | 2015-12-29 19:39:53 +0900 (Tue, 29 Dec 2015) | 4 lines ruby.c: parse -W option * ruby.c (proc_options): parse and skip '-W' option and its argument even if ignored. ------------------------------------------------------------------------ r53369 | nobu | 2015-12-29 19:12:48 +0900 (Tue, 29 Dec 2015) | 4 lines ruby.c: command line option over RUBYOPT env * ruby.c (proc_options): -W command line option should be able to override -w in RUBYOPT environment variable. ------------------------------------------------------------------------ r53368 | nobu | 2015-12-29 17:54:18 +0900 (Tue, 29 Dec 2015) | 4 lines eval.c: warn block for using * eval.c (ignored_block): warn if a block is given to `using`, which is probably for `Module.new`. ------------------------------------------------------------------------ r53367 | nobu | 2015-12-29 17:36:22 +0900 (Tue, 29 Dec 2015) | 4 lines compile.c: adjust label reference * compile.c (new_adjust_body): labels referred by adjuststack shoud not be optimized away. ------------------------------------------------------------------------ r53366 | nobu | 2015-12-29 12:48:36 +0900 (Tue, 29 Dec 2015) | 5 lines ostruct.rb: respond_to? * lib/ostruct.rb (OpenStruct): make respond_to? working on just-allocated objects for workaround of Psych. [ruby-core:72501] [Bug #11884] ------------------------------------------------------------------------ r53365 | mrkn | 2015-12-29 10:37:20 +0900 (Tue, 29 Dec 2015) | 5 lines * test/mkmf/test_have_func.rb (test_have_func): Add assertion to examine the existence of HAVE_RUBY_INIT. * test/mkmf/test_have_func.rb (test_not_have_func): Add assertion to examine the absence of HAVE_RUBY_INIT. ------------------------------------------------------------------------ r53364 | normal | 2015-12-29 06:52:15 +0900 (Tue, 29 Dec 2015) | 4 lines thread_sync.c: static classes We do not want to waste space by exposing globals to other objects. ------------------------------------------------------------------------ r53363 | normal | 2015-12-29 05:31:10 +0900 (Tue, 29 Dec 2015) | 5 lines Resolv::IPv6.create: avoid modifying frozen string literal * lib/resolv.rb (Resolv::IPv6.create): avoid modifying frozen * test/resolv/test_dns.rb (test_ipv6_create): test for above [Bug #11910] [ruby-core:72559] ------------------------------------------------------------------------ r53362 | a_matsuda | 2015-12-29 00:10:25 +0900 (Tue, 29 Dec 2015) | 1 line :warning: key "accelerator" is duplicated and overwritten in Tk samples ------------------------------------------------------------------------ r53361 | a_matsuda | 2015-12-29 00:10:19 +0900 (Tue, 29 Dec 2015) | 1 line Missing require ------------------------------------------------------------------------ r53360 | a_matsuda | 2015-12-29 00:10:10 +0900 (Tue, 29 Dec 2015) | 1 line parsedate is no more available since 1.9 ------------------------------------------------------------------------ r53359 | svn | 2015-12-29 00:10:08 +0900 (Tue, 29 Dec 2015) | 1 line * 2015-12-29 ------------------------------------------------------------------------ r53358 | a_matsuda | 2015-12-29 00:09:59 +0900 (Tue, 29 Dec 2015) | 4 lines Convert euc-jp resource file in Tk sample to utf-8 The sample program assumes the file to be encoded in utf-8 https://github.com/ruby/ruby/blob/02531898987693bd28879c78b3cb660006891186/ext/tk/sample/tkoptdb.rb#L15-L17 ------------------------------------------------------------------------ r53357 | a_matsuda | 2015-12-29 00:09:51 +0900 (Tue, 29 Dec 2015) | 1 line Documentation typo ------------------------------------------------------------------------ r53356 | kazu | 2015-12-28 16:04:01 +0900 (Mon, 28 Dec 2015) | 1 line fix a typo [ci skip] ------------------------------------------------------------------------ r53355 | nobu | 2015-12-28 15:42:18 +0900 (Mon, 28 Dec 2015) | 4 lines iseq.c: suppress warnings * iseq.c (rb_iseq_compile_with_option): suppress "clobbered" warnings by old gcc. ------------------------------------------------------------------------ r53354 | nobu | 2015-12-28 14:56:00 +0900 (Mon, 28 Dec 2015) | 4 lines Add test for String#rstrip! * test/ruby/test_string.rb (TestString#test_rstrip_bang): Add test for String#rstrip!. [Fix GH-1176] ------------------------------------------------------------------------ r53353 | svn | 2015-12-28 09:19:11 +0900 (Mon, 28 Dec 2015) | 1 line * 2015-12-28 ------------------------------------------------------------------------ r53352 | nobu | 2015-12-28 09:18:55 +0900 (Mon, 28 Dec 2015) | 4 lines Add test for String#lstrip! * test/ruby/test_string.rb (TestString#test_lstrip_bang): Add test for String#lstrip!. [Fix GH-1176] ------------------------------------------------------------------------ r53351 | svn | 2015-12-27 23:34:16 +0900 (Sun, 27 Dec 2015) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53350 | suke | 2015-12-27 23:34:11 +0900 (Sun, 27 Dec 2015) | 3 lines * ext/win32ole/win32ole.c (ole_variant2val): refactoring. ------------------------------------------------------------------------ r53349 | usa | 2015-12-27 21:24:03 +0900 (Sun, 27 Dec 2015) | 3 lines * test/ruby/test_process.rb (TestProcess#test_execopts_open_chdir_m17n_path): test for r53346, r53347 and r53348. ------------------------------------------------------------------------ r53348 | usa | 2015-12-27 21:15:20 +0900 (Sun, 27 Dec 2015) | 3 lines * process.c (rb_execarg_parent_start1): need to convert the encoding to ospath's one. ------------------------------------------------------------------------ r53347 | usa | 2015-12-27 21:03:45 +0900 (Sun, 27 Dec 2015) | 2 lines * process.c (rb_execarg_addopt): need to convert to ospath. ------------------------------------------------------------------------ r53346 | usa | 2015-12-27 20:54:59 +0900 (Sun, 27 Dec 2015) | 3 lines * process.c: use rb_w32_uchdir() instead of plain chdir() on Windows. reported by naruse via twitter. ------------------------------------------------------------------------ r53345 | hsbt | 2015-12-27 20:00:36 +0900 (Sun, 27 Dec 2015) | 1 line * enc/x_emoji.h: fix dead-link. ------------------------------------------------------------------------ r53344 | hsbt | 2015-12-27 19:55:59 +0900 (Sun, 27 Dec 2015) | 1 line * doc/NEWS-2.3.0: fix a typo. ------------------------------------------------------------------------ r53343 | a_matsuda | 2015-12-27 18:59:31 +0900 (Sun, 27 Dec 2015) | 3 lines Method name typo in a Tk sample * ext/tk/sample/tkextlib/treectrl/help.rb: kength => length ------------------------------------------------------------------------ r53342 | a_matsuda | 2015-12-27 18:59:20 +0900 (Sun, 27 Dec 2015) | 3 lines ivar name typo in a Tk sample * ext/tk/sample/tkextlib/treectrl/outlook-newgroup.rb: @Messge => @Message ------------------------------------------------------------------------ r53341 | a_matsuda | 2015-12-27 18:59:13 +0900 (Sun, 27 Dec 2015) | 3 lines Method name typo in a Tk sample * ext/tk/sample/tktextio.rb: trancate => truncate ------------------------------------------------------------------------ r53340 | a_matsuda | 2015-12-27 18:58:58 +0900 (Sun, 27 Dec 2015) | 3 lines ivar name typo in a Tk sample * ext/tk/sample/tktextio.rb: @opne => @open ------------------------------------------------------------------------ r53339 | a_matsuda | 2015-12-27 18:58:48 +0900 (Sun, 27 Dec 2015) | 4 lines Typo in Tk samples * ext/tk/sample/demos-en/goldberg.rb: miliseconds => milliseconds * ext/tk/sample/demos-jp/goldberg.rb: miliseconds => milliseconds ------------------------------------------------------------------------ r53338 | a_matsuda | 2015-12-27 18:58:22 +0900 (Sun, 27 Dec 2015) | 4 lines Method name typo in Tk samples * ext/tk/sample/demos-en/ctext.rb: seleect_adjust => select_adjust * ext/tk/sample/demos-jp/ctext.rb: seleect_adjust => select_adjust ------------------------------------------------------------------------ r53337 | a_matsuda | 2015-12-27 18:58:14 +0900 (Sun, 27 Dec 2015) | 3 lines Typo in a Tk sample * ext/tk/sample/tkextlib/bwidget/tree.rb: allways => always ------------------------------------------------------------------------ r53336 | a_matsuda | 2015-12-27 18:58:08 +0900 (Sun, 27 Dec 2015) | 3 lines Typo in a Tk sample * ext/tk/sample/demos-jp/mclist.rb: aquq => aqua ------------------------------------------------------------------------ r53335 | a_matsuda | 2015-12-27 18:57:47 +0900 (Sun, 27 Dec 2015) | 3 lines Typo in a gvar name * ext/tk/sample/demos-jp/hscale.rb: $hscale_deom => $hscale_demo ------------------------------------------------------------------------ r53334 | a_matsuda | 2015-12-27 18:57:42 +0900 (Sun, 27 Dec 2015) | 4 lines Typo in Tk samples * ext/tk/sample/demos-en/ttkbut.rb: happyness => happiness * ext/tk/sample/demos-jp/ttkbut.rb: happyness => happiness ------------------------------------------------------------------------ r53333 | a_matsuda | 2015-12-27 18:57:30 +0900 (Sun, 27 Dec 2015) | 1 line Typos in messages ------------------------------------------------------------------------ r53332 | a_matsuda | 2015-12-27 18:57:21 +0900 (Sun, 27 Dec 2015) | 3 lines Documentation typos [ci skip] ------------------------------------------------------------------------ r53331 | a_matsuda | 2015-12-27 18:57:12 +0900 (Sun, 27 Dec 2015) | 8 lines Typo: widget (?) * ext/tk/lib/tk.rb: wiget => widget * ext/tk/sample/demos-en/{floor.rb,floor2.rb,puzzle.rb}: widet => widget * ext/tk/sample/demos-en/textpeer.rb: Wdget => widget * ext/tk/sample/demos-jp/puzzle.rb: widet => widget * ext/tk/sample/demos-jp/textpeer.rb: Wdget => widget * ext/tk/sample/tkextlib/bwidget/basic.rb: widtet => widget ------------------------------------------------------------------------ r53330 | nobu | 2015-12-27 18:08:17 +0900 (Sun, 27 Dec 2015) | 5 lines Fix rdoc for String#rstrip!, lstrip! [ci skip] * string.c (rb_str_lstrip_bang, rb_str_rstrip_bang): [DOC] Fix ruby-doc comments for String#rstrip! and lstrip!. It looks like dropped bang. [Fix GH-1175] ------------------------------------------------------------------------ r53329 | normal | 2015-12-27 15:15:06 +0900 (Sun, 27 Dec 2015) | 8 lines IO#readpartial rejects bad args Sometimes a sleepy developer will want to swap read_nonblock for readpartial forget to remove "exception: false" * io.c (io_getpartial): remove unused kwarg from template * test/ruby/test_io.rb (test_readpartial_bad_args): new [Bug #11885] ------------------------------------------------------------------------ r53328 | nobu | 2015-12-27 11:50:56 +0900 (Sun, 27 Dec 2015) | 5 lines Add tests for String#lstrip and rstrip * test/ruby/test_string.rb (test_rstrip, test_lstrip): Add tests for String#lstrip and rstrip. The test cases are used from string.c ruby-doc comments. [Fix GH-1174] ------------------------------------------------------------------------ r53327 | nobu | 2015-12-27 11:47:49 +0900 (Sun, 27 Dec 2015) | 4 lines Add test for String#test_insert. * test/ruby/test_string.rb (test_insert): The test cases are written in string.c comments as a reference. [Fix GH-1173] ------------------------------------------------------------------------ r53326 | nobu | 2015-12-27 11:03:36 +0900 (Sun, 27 Dec 2015) | 3 lines parse.y: show_bitstack * parse.y (show_bitstack): trace stack_type value if yydebug. ------------------------------------------------------------------------ r53325 | nobu | 2015-12-27 10:51:50 +0900 (Sun, 27 Dec 2015) | 6 lines depend: version dependency * enc/depend (enc, trans): fix version dependency, let encoding and transcoding shared object files depend on config.status, instead of enc.mk which is regenerated at each build, for the RUBY_SO_NAME value used at runtime link. ------------------------------------------------------------------------ r53324 | nobu | 2015-12-27 10:03:16 +0900 (Sun, 27 Dec 2015) | 4 lines depend: version dependency * enc/depend (enc, trans): fix version dependency, shared object files depend on the RUBY_SO_NAME value for runtime link. ------------------------------------------------------------------------ r53323 | svn | 2015-12-27 09:48:25 +0900 (Sun, 27 Dec 2015) | 1 line * remove trailing spaces. ------------------------------------------------------------------------ r53322 | suke | 2015-12-27 09:48:20 +0900 (Sun, 27 Dec 2015) | 6 lines * ext/win32ole/win32ole.c (ole_vstr2wc, ole_variant2val): fix blank string conversion. [Bug #11880] Thanks Akio Tajima for the patch! ------------------------------------------------------------------------ r53321 | svn | 2015-12-27 09:35:12 +0900 (Sun, 27 Dec 2015) | 1 line * 2015-12-27 ------------------------------------------------------------------------ r53320 | nobu | 2015-12-27 09:34:55 +0900 (Sun, 27 Dec 2015) | 4 lines `nul` should be uppercase [ci skip] * doc/extension.rdoc: [DOC] `nul` should be uppercase. change 'nul' => 'NUL'. [Fix GH-1172] ------------------------------------------------------------------------ r53319 | naruse | 2015-12-26 19:01:35 +0900 (Sat, 26 Dec 2015) | 3 lines Revert "* tool/post-commit.sh: copied from svn server." manged in another repo ------------------------------------------------------------------------ r53318 | kou | 2015-12-26 18:33:43 +0900 (Sat, 26 Dec 2015) | 5 lines * lib/xmlrpc/client.rb: Support SSL options in async methods of XMLRPC::Client. [Bug #11489] Reported by Aleksandar Kostadinov. Thanks!!! ------------------------------------------------------------------------ r53317 | svn | 2015-12-26 18:26:08 +0900 (Sat, 26 Dec 2015) | 1 line * properties. ------------------------------------------------------------------------ r53316 | naruse | 2015-12-26 18:25:58 +0900 (Sat, 26 Dec 2015) | 1 line * tool/post-commit.sh: copied from svn server. ------------------------------------------------------------------------ r53315 | nobu | 2015-12-26 11:26:40 +0900 (Sat, 26 Dec 2015) | 4 lines miniinit.c: built-in encoding aliases * miniinit.c (Init_enc): add some common aliases of built-in encodings. [ruby-core:72481] [Bug #11872] ------------------------------------------------------------------------ r53314 | nobu | 2015-12-26 01:24:43 +0900 (Sat, 26 Dec 2015) | 6 lines program version from API version * configure.in, version.h (RUBY_PROGRAM_VERSION): extract version numbers from API version in include/ruby/version.h except for TEENY, to save matz job next year. * win32/setup.mak (-version-): use program version. ------------------------------------------------------------------------ r53313 | svn | 2015-12-26 00:02:19 +0900 (Sat, 26 Dec 2015) | 1 line * 2015-12-26 ------------------------------------------------------------------------ r53312 | nobu | 2015-12-26 00:02:14 +0900 (Sat, 26 Dec 2015) | 7 lines setup.mak: split release date * win32/setup.mak (verconf.mk): split release date into year, month, and day. * common.mk (RUBY_RELEASE_DATE): move from Makefile.in to share with win32/setup.mak. ------------------------------------------------------------------------ r53311 | nobu | 2015-12-25 23:50:26 +0900 (Fri, 25 Dec 2015) | 4 lines setup.mak: follow up r53310 * win32/setup.mak (verconf.mk): no longer appends, and escape dollar. ------------------------------------------------------------------------ r53310 | nobu | 2015-12-25 23:46:27 +0900 (Fri, 25 Dec 2015) | 4 lines setup.mak: follow up r53303 * win32/setup.mak (verconf.mk): follow up r53303. needs STRINGIZE now. ------------------------------------------------------------------------ r53309 | nobu | 2015-12-25 22:57:38 +0900 (Fri, 25 Dec 2015) | 4 lines version.h: no bot * version.h (RUBY_RELEASE_MONTH_STR, RUBY_RELEASE_DAY_STR): get rid of substitution by svn bot. ------------------------------------------------------------------------ r53308 | svn | 2015-12-25 22:53:27 +0900 (Fri, 25 Dec 2015) | 1 line * 2015-12-25 ------------------------------------------------------------------------ r53307 | nobu | 2015-12-25 22:53:06 +0900 (Fri, 25 Dec 2015) | 4 lines version.h: no bot * version.h (RUBY_RELEASE_MONTH_STR, RUBY_RELEASE_DAY_STR): get rid of substitution by svn bot. ------------------------------------------------------------------------ r53306 | svn | 2015-12-25 22:48:56 +0900 (Fri, 25 Dec 2015) | 1 line * 2015-12-25 ------------------------------------------------------------------------ r53305 | nobu | 2015-12-25 22:48:38 +0900 (Fri, 25 Dec 2015) | 4 lines version.h: no bot * version.h (RUBY_RELEASE_MONTH_STR, RUBY_RELEASE_DAY_STR): get rid of substitution by svn bot. ------------------------------------------------------------------------ r53304 | svn | 2015-12-25 22:43:39 +0900 (Fri, 25 Dec 2015) | 1 line * 2015-12-25 ------------------------------------------------------------------------ r53303 | nobu | 2015-12-25 22:43:29 +0900 (Fri, 25 Dec 2015) | 5 lines version.h: RUBY_RELEASE_DATE from YMD * configure.in: extract RUBY_RELEASE_DAY at generating Makefile. * version.h (RUBY_RELEASE_DATE): construct from RUBY_RELEASE_YEAR, RUBY_RELEASE_MONTH, and RUBY_RELEASE_DAY. ------------------------------------------------------------------------ r53302 | matz | 2015-12-25 21:40:38 +0900 (Fri, 25 Dec 2015) | 1 line version.h (RUBY_VERSION): 2.4.0 development has started. ------------------------------------------------------------------------