merge revision(s) r44931: [Backport #9452]

	* 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_0_0@44967 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r40101:

	* struct.c (make_struct): avoid inadvertent symbol creation.
	  (rb_struct_aref): ditto.
	  (rb_struct_aset): ditto.


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

	* struct.c (anonymous_struct, new_struct, setup_struct): split
	  make_struct() for each purpose.
	  make_struct() for each purpose.

	* error.c: Capture EGAIN, EWOULDBLOCK, EINPROGRESS exceptions and


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

	* struct.c (rb_struct_define_without_accessor, rb_struct_define),
	  (rb_struct_s_def): hide member names array.


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

	* struct.c (new_struct): fix warning message, class name and encoding.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44972 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44042,44045:

	* test/ruby/test_struct.rb: Add regression test for question marks and
	  bangs in struct members. [Closes GH-468]


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

	test_struct.rb: use assert_same

	* test/ruby/test_struct.rb (test_question_mark_in_member): true value
  has no meanings itself.  use assert_same instead.

	* test/ruby/test_struct.rb (test_bang_mark_in_member): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44974 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44926: [Backport #8756] [Backport #9248]

	* parse.y (IDSET_ATTRSET_FOR_INTERN): fix off-by-one bug.

	* parse.y (rb_enc_symname_type): junk ID succeeded by '=' is also
	  attrset ID.  [ruby-core:60668] [Bug #8756]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44975 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44884: [Backport #9498]

	* 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_0_0@44976 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44880: [Backport #9477]

	* 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_0_0@44977 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r42242:

	* test/ruby/test_hash.rb: use @cls.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44978 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r42224,r42225,r42226,r42227,r42228,r42229,r42232: [Backport #8703]

	* hash.c (rb_hash_assoc): performance improvement by replacing
	  compare function in RHASH(hash)->ntbl->type temporarily.

	* hash.c (rb_hash_assoc): aggregate object can be initialized only
	  with link time constants.

	* hash.c (rb_hash_initialize_copy): clear old table before copy new
	  table.

	* hash.c (rb_hash_initialize_copy): copy st_table type even if empty.
	  [ruby-core:56256] [Bug #8703]

	* hash.c (rb_hash_initialize_copy): copy st_table type even if empty.
	  [ruby-core:56256] [Bug #8703]

	* hash.c (rb_hash_initialize_copy): clear old table before copy new
	  table.

	* hash.c (rb_hash_assoc): aggregate object can be initialized only
	  with link time constants.

	* hash.c (rb_hash_assoc): revert r42224. table->type->compare is
	  called only if hashes are matched.

	* test/ruby/test_hash.rb: add a test to check using #== to compare.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44979 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44585: [Backport #9268]

	* 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_0_0@44980 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44586: [Backport #9152]

	* 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_0_0@44981 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44584,r44587,r44945: [Backport #9243]

	* ext/openssl/ossl_pkey_dh.c: Fixed typo by Sandor Szuecs [Bug #9243]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44982 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44642: [Backport #9093]

	* lib/resolv.rb (Resolv::DNS::Resource::TXT#data): Return concatenated
	  string.
	  Patch by Ryan Brunner.  [ruby-core:58220] [Bug #9093]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44983 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44463,r44464: [Backport #9210]

	* variable.c: adding extra example in docs.
	  patched by Steve Klabnik. [Bug #9210]

	* variable.c: [DOC] adding extra example in docs.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44984 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44878,r44879: [Backport #9483]

	* 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_0_0@44985 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44696: [Backport #9429]

	* lib/racc/rdoc/grammar.en.rdoc: [DOC] Correct grammar and typos
	  Patch by Giorgos Tsiftsis [Bug #9429] [ci skip]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44986 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r44758,r44759,r44760: [Backport #9466]

	object.c: error message encoding

	* object.c (convert_type, rb_convert_type, rb_check_convert_type),
  (rb_to_integer): preserve class name encoding error messages.

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