merge revision(s) r45405,r45408: [Backport #9669] [Backport #9740]

	* parse.y (lex_state_e, parser_params, f_arglist, parser_yylex):
	  separate EXPR_LABELARG from EXPR_BEG and let newline significant,
	  so that required keyword argument can place at the end of
	  argument list without parentheses.  [ruby-core:61658] [Bug #9669]

	* parse.y (parser_yylex): only a newline after label should be
	  significant.  [ruby-core:61658] [Bug #9669]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46005 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45553,r45554,r45557,r45558,r45561,r45566,r45567: [Backport #9718]

	* array.c (rb_ary_modify): remember shared array owner if a shared
	  array owner is promoted and a shared array is not promoted.
	  Now, shared array is WB-unprotected so that shared arrays are not
	  promoted.  All objects referred from shared array should be marked
	  correctly.
	  [ruby-core:61919] [ruby-trunk - Bug #9718]

	* test/ruby/test_array.rb: add a test for above.

	* test/ruby/test_array.rb: remove useless `assert'.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46006 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r46010:

	envutil.rb: fix argument

	* test/ruby/envutil.rb (assert_separately): fix missing `message`
  argument to FailDesc.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_1@46023 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r45045,r45046,r45530: [Backport #9697]

	* ext/socket/ipsocket.c (ip_s_getaddress): Don't access freed memory.

	* ext/socket: Wrap struct addrinfo by struct rb_addrinfo.

	* ext/socket/socket.c (sock_s_getnameinfo): Save errno for EAI_SYSTEM.
	  Reported by Saravana kumar.  [ruby-core:61820] [Bug #9697]
	  Fixed by Heesob Park.  [ruby-core:61868]


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