option.c: fix macro name

* ext/socket/option.c (optname_to_sym): fix macro name.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40191 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
socket/extconf.rb: check struct in_addr6

* ext/socket/extconf.rb: check struct in_addr6, which is defined in
  VC6 instead of in6_addr.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40192 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
socket/extconf.rb: add -D

* ext/socket/extconf.rb: $defs needs -D or -U.  nothing is added
  otherwize.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40193 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mkmf.rb: timestamp directory

* lib/mkmf.rb (timestamp_file): gather timestamp files in one
  directory from each extension directories.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40194 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fix #6154 by introducing new EAGAIN/EWOULDBLOCK/EINPROGRESS
subclasses that include WaitReadable or WaitWritable rather than
extending them into the exception object each time.

* error.c: Capture EGAIN, EWOULDBLOCK, EINPROGRESS exceptions and
  export them for use in WaitReadable/Writable exceptions.
* io.c: Create versions of EAGAIN, EWOULDBLOCK, EINPROGRESS that
  include WaitReadable and WaitWritable. Add rb_readwrite_sys_fail
  for nonblocking failures using those exceptions. Use that
  function in io_getpartial and io_write_nonblock instead of
  rb_mod_sys_fail
* ext/openssl/ossl_ssl.c: Add new SSLError subclasses that include
  WaitReadable and WaitWritable. Use those classes for
  write_would_block and read_would_block instead of rb_mod_sys_fail.
* ext/socket/ancdata.c: Use rb_readwrite_sys_fail instead of
  rb_mod_sys_fail in bsock_sendmsg_internal and
  bsock_recvmsg_internal.
* ext/socket/init.c: Use rb_readwrite_sys_fail instead of
  rb_mod_sys_fail in rsock_s_recvfrom_nonblock and
  rsock_s_connect_nonblock.
* ext/socket/socket.c: Use rb_readwrite_sys_fail instead of
  rb_mod_sys_fail in sock_connect_nonblock.
* include/ruby/ruby.h: Export rb_readwrite_sys_fail for use instead
  of rb_mod_sys_fail. Introduce new constants RB_IO_WAIT_READABLE and
  RB_IO_WAIT_WRITABLE for first arg to rb_readwrite_sys_fail.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40195 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* remove trailing spaces.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40196 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* properties.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40197 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Revert r40194 "mkmf.rb: timestamp directory"

It breaks build.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40199 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fixed comment typo by @qqshfox [fix GH-279]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40200 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fix documentation by @jc00ke [fix GH-278]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40201 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Finish docs for URI::FTP by @darkhelmet [fix GH-274]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40202 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
io.c: define EWOULDBLOCK

* io.c (Init_IO): define EWOULDBLOCK alway as it is needed always.
  and turn runtime branch into preprocessor condition.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40203 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mkmf.rb: timestamp directory

* lib/mkmf.rb (timestamp_file): gather timestamp files in one
  directory from each extension directories, with considering
  target_prefix.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40204 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
compile.c: append keyword hash to splat

* compile.c (iseq_compile_each): append keyword hash to argument array
  to splat if needed.  [ruby-core:54094] [Bug #8236]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40205 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_{env,hash}.rb: descriptive assertions

* test/ruby/test_{env,hash}.rb: use descriptive assertions than plain
  assert.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40206 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/open-uri.rb: Support multiple fields with same field
  name (like Set-Cookie).
  (OpenURI::Meta#metas): New accessor to obtain fields as a Hash from
  field name (string) to field values (array of strings).
  [ruby-core:37734] [Bug #4964] reported by ren li.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40207 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* internal.h (MUL_OVERFLOW_SIGNED_INTEGER_P): New macro.
  (MUL_OVERFLOW_FIXNUM_P): Ditto.
  (MUL_OVERFLOW_LONG_P): Ditto.

* array.c (rb_ary_product): Don't overflow on signed integer
  multiplication.

* numeric.c (fix_mul): Ditto.
  (int_pow): Ditto.

* rational.c (f_imul): Ditto.

* insns.def (opt_mult): Ditto.

* thread.c (sleep_timeval): Don't overflow on signed integer addition.

* bignum.c (rb_int2big): Don't overflow on signed integer negation.
  (rb_big2ulong): Ditto.
  (rb_big2long): Ditto.
  (rb_big2ull): Ditto.
  (rb_big2ll): Ditto.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40208 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* internal.h (MUL_OVERFLOW_INT_P): New macro.

* sprintf.c (GETNUM): Don't overflow on signed integer multiplication.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40209 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2013-04-10

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40210 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Refactored.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@40211 b2dd03c8-39d4-4d8f-98ff-823fe69b080e