merge revision(s) 42178: [Backport #8687]

	* rational.c (f_round_common): Rational is expected to be returned by
	  Rational#*, but mathn.rb breaks that assumption.  [ruby-core:56177]
	  [Bug #8687]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@42326 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 42212,42214: [Backport #8669]

	* string.c: add internal API rb_str_locktmp_ensure().

	* io.c (io_fread): use rb_str_locktmp_ensure().
	  [ruby-core:56121] [Bug #8669]

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

	* io.c (io_getpartial): use rb_str_locktmp_ensure().
	  [ruby-core:56121] [Bug #8669]

	* io.c (rb_io_sysread): ditto.

	* test/ruby/test_io.rb: add tests for above.


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

	* ext/openssl/ossl_asn1.c (asn1time_to_time):  Implement YYMMDDhhmmZ
	  format for ASN.1 UTCTime.  [ruby-trunk - Bug #8664]

	* test/openssl/test_asn1.rb:  Test for the above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@42328 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/tk/extconf.rb: Default search_versions are set 8.5 and 8.4 only. At present, Tcl/Tk8.6 is not supported.
* ext/tk/extconf.rb: Fix typo. [ruby-core:56084] [Bug #8656]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@42368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2013-08-04

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

	* test/coverage/test_coverage.rb (TestCoverage#test_big_code): use `1'
	  instead of `p' to get rid of a side effect.
	  Kernel#p without any argument seems to do nothing, but flushes stdout.
	  and, if stdout is redirected to file, fsync() will be called on
	  Windows.  so, when running test-all on Windows with redirection, such
	  as CI environment, this test took a lot of time.


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

	suppress warning introduced by r42439 [ruby-dev:47040]

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

	* win32/win32.c (wrename): use MoveFileExW instead of MoveFileW,
	  because the latter fails on cross device file move of some
	  environments.
	  fix [ruby-core:53492] [Bug #8109]
	  reported by mitchellh (Mitchell Hashimoto)


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@42460 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/http.rb (Net::HTTP#send_request_with_body_stream): use
  String#bytesize instead of String#length.
  reported by shekhei (shek hei wong) at [ruby-core:53775]
  [Backport #8176].


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@42461 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 40606,40607,40635: [Backport #8375]

	test_scanner_events.rb: assert_location

	* test/ripper/test_scanner_events.rb (TestRipper#assert_location):
  rename so skipped in backtraces.
	* parse.y (parser_yylex): fail if $, @, @@ are not followed by a valid
	  name character.  [ruby-core:54846] [Bug #8375].

	* parse.y (parser_peek_variable_name): treat invalid global, class,
	  and instance variable names as mere strings rather than errors.
	  [ruby-core:54885] [Bug #8375]


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

	* lib/mkmf.rb (xsystem): expand environment variable in all macros not
	  expanded with RbConfig.  [Bug #8702]

	* test/mkmf/test_framework.rb (create_framework): replace all $@ not
	  only once.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@42463 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 36948,41777,41779 [Backport #8593]

	* lib/mkmf.rb (have_framework): insert a space between options.
	  add just one -ObjC option.

	* lib/mkmf.rb (have_framework): allow header file to check.
	  [ruby-core:55745] [Bug #8593]


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

	* ext/date/date_{core,strftime}.c: [ruby-core:46990].


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

	* parse.y: fix build error with bison-3.0.


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

	* test/openssl/test_ssl.rb: Fix test for CVE-2013-4073.
	  Patch by Antonio Terceiro. [Bug #8750] [ruby-core:56437]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/branches/ruby_1_9_3@42622 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
merge revision(s) 42421,42422: [Backport #8746]

	* test/webrick/test_cgi.rb (TestWEBrickCGI#{start_cgi_server,test_cgi}):
	  mswin is not only mswin32 but also mswin64.
	  mswin is not only mswin32 but also mswin64. [Bug #8746]


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