* lib/test/unit/parallel.rb: fix test-all parallel failure if a test
is skipped after raise.
DL::TestFunc#test_sinf is skipped after raise on mingw ruby.
But it causes Mashal.load failure due to undefined class/module
DL::DLError when doing test-all parallel and test-all doesn't
complete. We create new MiniTest::Skip object to avoid Mashal.load
failure.
[ruby-core:62133] [Bug #9767]
* test/testunit/test_parallel.rb (TestParallel): add a test.
* test/testunit/tests_for_parallel/ptest_forth.rb: ditto.
But it causes Marshal.load failure due to undefined class/module
complete. We create new MiniTest::Skip object to avoid Marshal.load
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46916 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/pathname/lib/pathname.rb (cleanpath_aggressive): make all
separators File::SEPARATOR from File::ALT_SEPARATOR.
Reported by Daniel Rikowski.
Fixed by Nobuyoshi Nakada. [Bug #9618]
* ext/pathname/lib/pathname.rb (cleanpath_conservative): ditto.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/fileutils.rb (rmdir): rescue Errno::EEXIST in addition to
ENOTEMPTY (and ENOENT), because SUSv3 describes that "If the
directory is not an empty directory, rmdir() shall fail and set
errno to [EEXIST] or [ENOTEMPTY]" and Solaris uses EEXIST.
[Bug #9571] [ruby-dev:48017]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46910 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/resolv.rb (bind_random_port): Rescue EPERM for FreeBSD which
security.mac.portacl.port_high is changed.
See mac_portacl(4) for details.
Reported by Jakub Szafranski. [ruby-core:60917] [Bug #9544]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46909 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* re.c (match_aref): should not ignore name after NUL byte.
[ruby-dev:48275] [Bug #9902]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46869 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* array.c (yield_indexed_values): extract from permute0(),
rpermute0(), and rcombinate0().
* 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/branches/ruby_2_1@46808 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/branches/ruby_2_1@46807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* st.c (st_foreach_check): chnage start point of search at check
from top to current. [ruby-dev:48047] [Bug #9646]
* st.c (st_foreach_check): change start point of search at check
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46721 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/gserver.rb: [DOC] Fixed typo in example by @stomar [Bug #9543]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46719 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enumerator.c: [DOC] Fix example to show Enumerator#peek behavior
Patch by Erik Hollembeak [Bug #9814]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46677 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enum.c: [DOC] Use #find in example to clarify alias by @rachellogie
Patch submitted via documenting-ruby/ruby#34
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46676 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* struct.c (not_a_member): extract name error and use same error
messages. based on the patch by Marcus Stollsteimer <sto.mar AT
web.de> at [ruby-core:61721]. [Bug #9684]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46673 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (io_setstrbuf, io_read): should not shorten the given buffer until
read succeeds. [ruby-core:55951] [Bug #8625]
* io.c (read_all): truncate the buffer before appending read data,
instead of truncating before reading.
[ruby-core:55951] [Bug #8625]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm.c (core_hash_merge_kwd): should return the result hash, which
may be converted from and differ from the given argument.
[ruby-core:62921] [Bug #9898]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/imap.rb (body_type_1part): Gmail IMAP reports a body
type as "MIXED" followed immediately by params
[ruby-core:62864] [Bug #9885]
Patch by @rayners (David Raynes). [Fixes GH-622]
https://github.com/ruby/ruby/pull/622
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46617 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* signal.c (ruby_signal): should return either `old.sa_sigaction`
or `old.sa_handler`, depending on whether `SA_SIGINFO` is set in
`old.sa_flags`, because they may not be a union.
[ruby-core:62836] [Bug #9878]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46616 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/lib/openssl/ssl.rb (OpenSSL::SSL::SSLServer#accept):
Consider Socket#accept as well as TCPServer#accept.
Reported by Sam Stelfox. [ruby-core:62064] [Bug #9750]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46613 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vsnprintf.c (BSD_vfprintf): fix string width when precision is
given. as the result of `memchr` is NULL or its offset from the
start cannot exceed the size, the comparison was always false.
[ruby-core:62737] [Bug #9861]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46611 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/fiddle/extconf.rb: supply 0 to fill RUBY_LIBFFI_MODVERSION
with 3-digit. libffi 3.1 returns just 2-digit.
[ruby-core:62920] [Bug #9897]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46609 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* string.c (rb_str_substr): need to reset code range for shared
string too, not only copied string.
[ruby-core:62842] [Bug #9882]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46599 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/ftp.rb (transfercmd): Close TCP server socket even if an
exception occur.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46523 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_win32.c (rb_w32_stack_overflow_handler): use Structured
Exception Handling by Addvectoredexceptionhandler() for machine
stack overflow on mingw.
This would be equivalent to the handling using __try and __exept
on mswin introduced by r43748.
Exception Handling by AddVectoredExceptionHandler() for machine
This would be equivalent to the handling using __try and __except
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46522 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (thread_start_func_2): stop if forked in a sub-thread,
the thread has become the main thread.
[ruby-core:62070] [Bug #9751]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46497 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread_pthread.c: get current main thread stack size, which may
be expanded than allocated size at initialization, by rlimit().
[ruby-core:60113] [Bug #9454]
* thread_pthread.c: rlimit is only available on Linux.
At least r44712 breaks FreeBSD.
[ruby-core:60113] [Bug #9454]
* thread_pthread.c (ruby_init_stack, ruby_stack_overflowed_p):
place get_stack above others to get stack boundary information.
[ruby-core:60113] [Bug #9454]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46468 b2dd03c8-39d4-4d8f-98ff-823fe69b080e