rb_thread_call_without_gvl

* include/ruby/thread.h: new header file for thread stuff.
* thread.c (rb_thread_call_without_gvl): export.  [Feature#4328]
  returns void* instead of VALUE.  [Feature #5543]
* thread.c (rb_thread_blocking_region): deprecate.  [ruby-core:46295]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36355 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/zlib/zlib.c:  Added streaming support to inflate processing.
  This allows zlib streams to be processed without huge memory growth.
  [Feature #6612]
* NEWS:  ditto
* ext/zlib/zlib.c (zstream_expand_buffer):  Uses rb_yield when a block
  is given for streaming support.  Refactored to use
  zstream_expand_buffer_into to remove duplicate code.
* ext/zlib/zlib.c (zstream_expand_buffer_protect):  Added wrapper
  function to pass jump state back through GVL-free section to allow
  zstream clean-up before terminating the ruby call.
* ext/zlib/zlib.c (zstream_expand_buffer_without_gvl):  Acquire GVL to
  yield processed chunk of output stream.
* ext/zlib/zlib.c (zstream_detach_buffer):  When a block is given,
  returns Qnil mid-stream and yields the output buffer at the end of
  the stream.
* test/zlib/test_zlib.rb:  Updated tests


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36356 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2012-07-11

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36357 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ChangeLog: typo.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36358 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
HAVE_RUBY_THREAD_H

* include/ruby.h (HAVE_RUBY_THREAD_H): to show ruby/thread.h to be
  available.  fixup of r36355.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36359 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
fix a typo

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36360 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
get rid of warnings

* io.c (sysopen_func, rb_sysopen_internal): cast through VALUE to get
  rid of warnings.  fixup of r36355.
* process.c (rb_waitpid_blocking, rb_waitpid): ditto.


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

Reverts a half of r36079. As we discussed on ruby-dev@ and IRC,
we do not need to disclose intermediate representation of program.
The program embedding CRuby should use rb_eval_string family.
* include/ruby/ruby.h (ruby_opaque_t): removed.
  (ruby_compile_main_from_file, ruby_compile_main_from_string,
   ruby_eval_main): removed.

* eval.c (ruby_eval_main_internal): became ruby_exec_internal() again.
  (ruby_eval_main): removed.

* ruby.c (PREPARE_PARSE_MAIN) reverted.
  (parse_and_compile_main, ruby_compile_main_from_file,
   ruby_compile_main_from_string): removed

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36362 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_eval.c (rb_eval_string_from_file,
  rb_eval_string_from_file_protect): new functions to replace
  rb_compile_main_from_string() and ruby_eval_main().

* nacl/pepper_ruby.c: Follows the change in vm_eval.c

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36363 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): nonstatic initializer 
  of an aggregate type is a C99ism.

* ext/openssl/ossl_pkey_ec.c (ossl_ec_point_mul): get rid of VC++
  warnings.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36364 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
enc/encinit.c for static-linked-ext

* ext/extmk.rb: append ENCOBJS to DLDOBJS but not EXTSOLIBS which is
  not a target, to compile enc/encinit.c.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36365 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
sample/test.rb: fix standalone

* sample/test.rb (Progress#initialize): no rotators when STDOUT is
  also tty, that is directly invoked but not from tool/rubytest.rb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36366 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/http.rb (Net::HTTP#connect): use local_host and local_port
  if specified. patched by Ricardo Amorim [Feature #6617]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36367 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* 2012-07-12

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36368 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
defined: me in cfp

* insns.def (defined): use method entry and id in cfp for proper
  superclass, since klass in iseq is shared by dynamically defined
  methods from the same block.  [ruby-core:45831][Bug #6644]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36369 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Imported minitest 3.2.0 (r7598). Reviewed by drbrain

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36370 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Use IPv4 address on connecting to 127.0.0.1.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36371 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/net/http/test_http.rb (TestNetHTTPLocalBind#test_bind_to_local*):
  cannot cross between network interfaces on Windows, so skip this test
  until we find better test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36372 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
rb_str_new_frozen: new object if tainted/untrusted unmatch

* string.c (rb_str_new_frozen): since the result object should have
  same tainted/untrusted bits with the original object, return new
  object if the shared object unmatch.  [ruby-core:39745][Bug #5374]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36373 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test: skip default gems

* test/runner.rb: skip default gems to get rid of loading old versions
  before installation.


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