merge revision(s) 46233: [Backport #9878]

	* signal.c (ruby_signal): should return either `old.sa_sigaction`
	  or `old.sa_handler`, depending on whether `SA_SIGINFO` is set in
	  `old.sa_flags`, because they may not be a union.
	  [ruby-core:62836] [Bug #9878]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_2_0_0@46583 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 46243,46244: [Backport #9882] [Backport #9883]

	* string.c (rb_str_substr): need to reset code range for shared
	  string too, not only copied string.
	  [ruby-core:62842] [Bug #9882]


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