merge revision(s) 43385: [Backport #8006]

	* dir.c (glob_helper): don't skip current directories if FNM_DOTMATCH
	  is given.  [ruby-core:53108] [Bug #8006]


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

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

	* ext/thread/thread.c (rb_szqueue_clear): notify SZQUEUE_WAITERS
	  on SizedQueue#clear. [ruby-core:59462] [Bug #9342]

	* test/thread/test_queue.rb: add test. the patch is from
	  Justin Collins.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44899 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r41215,r41216,r41217: [Backport #8627] [Backport #9506]

	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): work around for Ubuntu
	  13.04's getaddrinfo issue with mdns4. [ruby-list:49420]

	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): Add missing return
	  value assignment.

	* ext/socket/raddrinfo.c (nogvl_getaddrinfo): Fix indent.


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

	* file.c (GetLastError): already defined in windows.h on nowadays
	  cygwin, and caused the confliction with the system provided
	  definition on cygwin64.  by @kou1okada [Fixes GH-433].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44905 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) r42479,r42490,r42509,r43083,r43084,r43085: [Backport #8756] [Backport #9248]

	* parse.y (rb_enc_symname_type): allow ID_ATTRSET for ID_INSTANCE,
	  ID_GLOBAL, ID_CLASS, ID_JUNK too.  [Bug #8756]

	* parse.y (rb_id_attrset): fix inconsistency with literals, allow
	  ID_ATTRSET and return it itself, but ID_JUNK cannot make ID_ATTRSET.
	  and raise a NameError instead of rb_bug() for invalid argument.

	* parse.y (rb_id_attrset, intern_str): allow junk attrset ID for
	  Struct.

	* parse.y (rb_id_attrset): check if the argument is valid type as an
	  attribute.

	* parse.y (rb_id_attrset): allow other than ID_ATTRSET.

	* parse.y (intern_str): ditto.  try stem ID for ID_INSTANCE,
	  ID_GLOBAL, ID_CLASS, ID_JUNK too.  [Bug #8756]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@44911 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
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