* array.c (rb_ary_combination): iterate on a shared copy, and use
array of indexes instead of array of chosen objects.
[ruby-core:63149] [Bug #9939]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46418 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (rb_ary_permutation): `p` is the array of size `r`, as
commented at permute0(). since `n >= r` here, buffer overflow
never happened, just reduce unnecessary allocation though.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46416 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_str_resize): should consider the capacity instead
of the old length, as pointed out by nagachika.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46413 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_str_freeze): shrink the buffer before freezing, as
pointed out by Eric Wong at [ruby-core:63119].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46411 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_str_resize): shrink the buffer even if new length
is same but it is enough smaller than the capacity.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46408 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in (rb_cv_scalar_pthread_t): pthread_t is not required
to be a scalar type.
* thread.c (fill_thread_id_string, thread_id_str): dump pthread_t
in hexadecimal form if it is not a scalar type, assume it can be
represented in a pointer form otherwise. based on the patch by
Rei Odaira at [ruby-core:62867]. [ruby-core:62857] [Bug #9884]
* thread_pthread.c (Init_native_thread, thread_start_func_1),
(native_thread_create): set thread_id_str if needed.
* vm_core.h (rb_thread_t): add thread_id_string if needed.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46406 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c (timer_thread): add a flag to tell timer thread
is created, since 0 may be a valid value as pthread_t.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46405 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (DEBUG_OUT): fix format specifier for a thread ID,
which is DWORD not pointer.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46404 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/envutil.rb (diagnostic_reports): Mac OS X 10.10 may
not create plist file with crash file together.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46397 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/runner.rb (exec_test, show_progress): erase with
white spaces, and adjust each results at same column.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46396 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/setup.mak (verconf.mk): rename RUBY_PROGRAM_VERSION as
RUBY_RELEASE_DATE, same as other platforms.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46394 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* win32/setup.mak (verconf.mk): separate RUBY_RELEASE_DATE from
Makefile so that build would not stop everyday.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46393 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/csv.rb (CSV#<<): honor explicity given encoding. based on
the patch by DAISUKE TANIWAKI <daisuketaniwaki AT gmail.com> at
[ruby-core:62113]. [Bug #9766]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46391 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Extend heap only at
(1) after major GC
or
(2) after several (two times, at current) minor GC
Details in https://bugs.ruby-lang.org/issues/9607#note-9
[Bug #9607]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46387 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (new_insn_body): use enum instead of bare int.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46383 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
posix_fadvise() if _LARGE_FILES is defined. Patch by Rei Odaira.
[ruby-core:62968] [Bug #9914]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46382 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/test_thread.rb: remove a garbage line for debug.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46380 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bootstraptest/runner.rb (show_progress): show each elapsed times
in verbose mode.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46378 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_str_slice_bang): [DOC] update return value against
a fixnum, which has changed because of M17N. [fix GH-631]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46376 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
or an invalid value is returned in #coerce called by
numeric comparison operators and the exception
thrown by the caller has no information on the failure.
In the next release such exception should not be rescued or
should be the cause of the caller exception. nil is accepted
as the "no possible coercion" return value. See #7688.
* test/ruby/test_numeric.rb: Add corresponding test.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46375 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/digest/digest.c (rb_digest_instance_equal): no need to call
`to_s` twice. [Bug #9913]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
to avoid an exception on Class.new.freeze.clone.to_s.
Reported by Andrew Grimm. [ruby-core:41858] [Bug #5828]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_assignment.rb (test_assign_private_self): test
for r3509, assignment to private attribute is allowed iff its
receiver is literal `self`.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@46364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e