Current File : //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.
------------------------------------------------------------------------