* ext/openssl/ossl.c (ossl_make_error): check NULL for unknown
error reasons with old OpenSSL, and insert a colon iff formatted
message is not empty.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45778 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/readline/readline.c (Init_readline): Use rl_hook_func_t instead
of Function to support readline-6.3. (rl_hook_func_t is available
since readline-4.2.)
Reported by Dmitry Medvinsky. [ruby-core:61141] [Bug #9578]
* ext/readline/extconf.rb (rl_hook_func_t): define as Function for
very old readline versions. [ruby-core:61209] [Bug #9578]
* ext/readline/extconf.rb: fix typo, `$defs` not `$DEFS`.
[ruby-core:61756] [Bug #9578]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45772 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: Having optional keyword arguments makes maximum arity +1,
not unlimited [#8072]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hash.c: extra states
* hash.c (rb_hash_reject): use words "extra states".
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45227 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* proc.c: Having any mandatory keyword argument increases min arity
[#9299]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45226 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/make-snapshot: support new version scheme.
* tool/make-snapshot: needs CXXFLAGS. [ruby-core:59393][Bug #9320]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45162 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/io/console/console.c (console_dev): need read access for conout$
because some functions need it. [Bug#9554]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45139 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_method.rb, test_proc.rb: suppress warnings
* test/ruby/test_method.rb: suppress warnings in verbose mode.
* test/ruby/test_proc.rb: ditto.
* proc.c (rb_iseq_min_max_arity): maximum argument is unlimited if
having rest keywords argument. [ruby-core:53298] [Bug #8072]
* iseq.c (rb_iseq_parameters): push argument type symbol only for
unnamed rest keywords argument.
* compile.c (iseq_set_arguments): set arg_keyword_check from
nd_cflag, which is set by parser. internal ID is used for
unnamed keyword rest argument, which should be separated from no
keyword check.
* iseq.c (rb_iseq_parameters): if no keyword check, keyword rest is
present.
* parse.y (new_args_tail_gen): set keywords check to nd_cflag, which
equals to that keyword rest is not present.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45138 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/init.c (wait_connectable): break if the socket is
writable to avoid infinite loops on FreeBSD and other platforms
which conforms to SUSv3. This problem cannot be reproduced with
loopback interfaces, so it's hard to write test code.
rsock_connect() and wait_connectable() are overly complicated, so
they should be refactored, but I commit this fix as a workaround
for the release of Ruby 1.9.3 scheduled on Feb 24.
[ruby-core:60940] [Bug #9547]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45129 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* eval.c (rb_mod_s_constants): return its own constants for other
than Module itself. [ruby-core:59763] [Bug #9413]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45124 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
benchmark/driver: avoid large alloc in driver process
* benchmark/driver: avoid large alloc in driver process
[ruby-core:59869] [Bug #9430]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45121 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/ancdata.c (bsock_sendmsg_internal): only retry on error
(bsock_recvmsg_internal): ditto
* test/socket/test_unix.rb: test above for infinite loop
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45120 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
thread_pthread.c: timer thread stack size
* thread_pthread.c (rb_thread_create_timer_thread): define the stack
size for timer thread at compile time.
* thread_pthread.c (rb_thread_create_timer_thread): expand timer
thread stack size to get rid of segfault on FreeBSD/powerpc64.
based on the patch by Steve Wills at [ruby-core:59923].
[ruby-core:56590] [Bug #8783]
* thread_pthread.c (rb_thread_create_timer_thread): fix for platforms
where PTHREAD_STACK_MIN is a dynamic value and not a compile-time
constant. [ruby-dev:47911] [Bug #9436]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45119 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/ripper/lib/ripper/lexer.rb: [DOC] use lower case version of core
classes when referring to return value, since we aren't directly
talking about the class. Patch by Jonathan Jackson [Bug #9483]
* lib/open-uri.rb: [DOC] use lower case version of core classes, same
as commit r44878, based on patch by Jonathan Jackson [Bug #9483]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45116 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* variable.c: adding extra example in docs.
patched by Steve Klabnik. [Bug #9210]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45115 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/xmlrpc/client.rb: [DOC] Remove note about SSL package on RAA
Since RAA has been deprecated, and the SSL package has been replaced
with net/https this statement is entirely false and should be
deleted. [Bug #9152]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45112 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/smtp.rb: [DOC] Remove dead link to RAA by Giorgos Tsiftsis
Fixes the following bugs: [Bug #9152] [Bug #9268] [Bug #9394]
* lib/open-uri.rb: ditto
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45111 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/resolv.rb: Ignore name servers which cause EAFNOSUPPORT on
socket creation.
Reported by Bjoern Rennhak. [ruby-core:60442] [Bug #9477]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45110 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/resolv.rb (Resolv::DNS::Message::MessageDecoder): Raise
DecodeError if no data before the limit.
Reported by Will Bryant. [ruby-core:60557] [Bug #9498]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45109 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.c (vm_call_method): should check ci->me->flag of
a refining method in case the method is private.
[ruby-core:60111] [Bug #9452]
* vm_method.c (make_method_entry_refined): set me->flag of a refined
method entry to NOEX_PUBLIC in case the original method is private
and it is refined as a public method. The original flag is stored
in me->def->body.orig_me, so it's OK to make a refined method
entry public. [ruby-core:60111] [Bug #9452]
* test/ruby/test_refinement.rb: related tests.
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45107 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* iseq.c (iseq_load): keep type_map to get rid of memory leak.
based on a patch by Eric Wong at [ruby-core:59699]. [Bug #9399]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45105 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* configure.in: check if pthread_setname_np is available.
* thread_pthread.c: pthread_setname_np is not available on old
Darwins. [ruby-core:60524] [Bug #9492]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45090 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* parse.y (local_push_gen, local_pop_gen): save cmdarg_stack to
isolate command argument state from outer scope.
[ruby-core:59342] [Bug #9308]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45086 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/psych/lib/psych/visitors/yaml_tree.rb: dumping strings with
quotes should not have changed. [ruby-core:59316] [Bug #9300]
* ext/psych/lib/psych.rb: fixed missing require.
* test/psych/test_string.rb: test
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45079 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_m17n.rb: split tests for inspect
* test/ruby/test_m17n.rb (test_utf_16_32_inspect): split tests for
each encodings.
* string.c (get_actual_encoding): get actual encoding according to
the BOM if exists.
* string.c (rb_str_inspect): use according encoding, instead of
pseudo encodings, UTF-{16,32}. [ruby-core:59757] [Bug #8940]
* string.c (get_encoding): respect BOM on pseudo encodings.
[ruby-dev:47895] [Bug #9415]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45074 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* compile.c (iseq_build_from_ary_body): Use :blockptr instead of :block
as hash key when loading serialized instruction sequences from arrays.
[Bug #9455] [ruby-core:60146]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45069 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* process.c (recv_child_error): Fix deadlock in rb_fork_internal when a
signal is sent to the parent process while Ruby is forking in IO.popen.
Patch by Scott Francis. Closes GH-513.
* process.c (send_child_error): retry write on EINTR to fix
occasional Errno::EINTR from Process.spawn.
* process.c (recv_child_error): retry read on EINTR to fix
occasional Errno::EINTR from Process.spawn.
* process.c (READ_FROM_CHILD): Apply the last hunk of
0001-process.c-avoid-EINTR-from-Process.spawn.patch written by
Eric Wong in [Bug #8770].
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45061 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/socket/option.c: IP_MULTICAST_LOOP and IP_MULTICAST_TTL socket
option takes a byte on OpenBSD.
Fixed by Jeremy Evans. [ruby-core:59496] [Bug #9350]
git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@45056 b2dd03c8-39d4-4d8f-98ff-823fe69b080e