ccan/list: new list_{del,node}_init functions

* ccan/list/list.h (list_del_init, list_node_init): new functions
  for multiple list_del() calls
  [ccan ec8654d94d3c5c47aa5f82698f7e8048c79765b1] (Rusty Russell)

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

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

* ccan/container_of/container_of.h (container_of_or_null): added
  [ccan 7ec5b8e06b2fd5fa98b1fcde1158c286d2d429d8] (David Gibson)

It's quite common to have a pointer which could be either a pointer to a
structure member, or NULL.  This needs special casing with container_of(),
or it will convert NULL into something strange.

This patch adds container_of_or_null(), which will return NULL if passed
(an appropriately typed) NULL, or the containining structure as
container_of() otherwise.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47579 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
compile.c, gc.c: suppress warnings

* compile.c (iseq_compile_each): suppress implicit conversion
  warning by old apple gcc 4.2.

* gc.c (RVALUE_FLAGS_AGE, heap_page_allocate): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47580 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/psych/lib/psych.rb: update version
* ext/psych/psych.gemspec: ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47581 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems:  Update to RubyGems 2.4.1 master(713ab65)
  Complete history at:
  https://github.com/rubygems/rubygems/blob/master/History.txt#L3-L216
* test/rubygems:  ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47582 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/test_tracer.rb: fixed testcase for rubygems update.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47584 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm.inc.tmpl + instruction.rb: typo fixes

* template/vm.inc.tmpl: "insns.c" => "insns.def"
* tool/instruction.rb: typo fix

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47585 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
sprintf.c: improve rational 'f' format

* sprintf.c (rb_str_format): rational 'f' format works for more
  values.  [fix GH-717]

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47589 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
fiddle/import.rb: fix typo

* ext/fiddle/lib/fiddle/import.rb (Fiddle::Importer#sizeof): fix typo,
  SIZEOF_LONG_LON.  [Fix GH-714]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47590 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
pathname.rb: fix a Pathname#relative_path_from crash on

* ext/pathname/lib/pathname.rb (SAME_PATHS):
  Pathname#relative_path_from uses String#casecmp to compare strings
  on case-insensitive filesystem platforms (e.g., Windows). This can
  return nil for strings with different encodings, and the code
  previously assumed that it always returned a Fixnum.  [Fix GH-713]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47591 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
benchmark/bm_app_aobench.rb: spelling fix [ci skip]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47593 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
trivial packing for on-stack structs

* io.c (struct io_advise_struct): 32 => 24 bytes on 64-bit
* io.c (struct io_internal_writev_struct): 24 => 16 bytes on 64-bit
* process.c (struct waitpid_arg): ditto

Slightly reduce stack pressure.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47594 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* reg*.c: Merge Onigmo 5.15.0 38a870960aa7370051a3544

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

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

* sprintf.c (rb_str_format): fix a possible integer overflow and
  suppress implicit conversion warnings.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@47600 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
regparse.c: remove unused variable

* regparse.c (add_ctype_to_cc): suppress a warning by removing
  unused variable.

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

* regenc.h (PosixBracketEntryType): shrink by embedding `name` and
  reordering.

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