ruby.h: merge FLONUM and non-FLONUM

* include/ruby/ruby.h (RB_FLOAT_TYPE_P): merge FLONUM and non-FLONUM
  versions.  inline TYPE() comparison and FLONUM_P() should be
  optimized away on non-FLONUM.


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

* .gdbinit (rp): FLONUM support.
* include/ruby/ruby.h (ruby_special_consts): define FLONUM constants
  always, so that they are available from gdb.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36917 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mkmf.rb: fix splitting options with an argument

* ext/extmk.rb (extmake), lib/mkmf.rb (have_framework): fix splitting
  options with an argument, not using NUL as special character.
  [ruby-core:47447] [Bug #6987]

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36919 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/extmk.rb: revert r36468. replacing NUL character is not necessary after
  r36918,

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36920 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_gem_specification.rb: skip meaningless tests

* test/rubygems/test_gem_specification.rb (have_syck): skip tests
  which are meaningless if syck is never possible.


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

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

* .travis.yml (script): verbose to investigate hang-ups on gcc 4.6.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36924 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
internal.h: allocator function in rb_classext_t

* internal.h (struct rb_classext_struct): move allocator function into
  rb_classext_t from ordinary method table.  [ruby-dev:46121]
  [Feature #6993]
* object.c (rb_obj_alloc): call allocator function directly.
* vm_method.c (rb_define_alloc_func, rb_undef_alloc_func)
  (rb_get_alloc_func): use allocator function in rb_classext_t.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36925 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (rb_mutex_lock): stop multiple threads use
  pthread_cond_timedwait() concurrently. [Bug #6278] [ruby-core:44275]

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36927 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (io_bufread): removed unnecessary rb_thread_wait_fd().
  Patch by Eric Wong. [Bug #6629] [ruby-core:45789]
* io.c (rb_io_sysread): ditto.
* io.c (copy_stream_fallback_body): ditto.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36931 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* io.c (nogvl_close, maygvl_close, nogvl_fclose, maygvl_fclose):
  new functions.
* io.c (fptr_finalize): release GVL if possible.
  Patched by Eric Wong. [Feature #4570] [ruby-core:35711]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36932 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_io.rb (test_advise_pipe): new test to check
  io.advise() against anonymous io object don't make crash.
  made by Eric Wong. [Bug #6081] [ruby-core:42880]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36933 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/sync.rb (Sync_m): Removed RCS_ID.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36934 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/intern.h (rb_thread_blocking_region): Added
  a comment of recommended alternative way.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36935 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/sync.rb (Sync_m#sync_lock): Fixed wakeup/raise unsafe code.
  Patched by Masaki Matsushita. [Bug #5355] [ruby-dev:44521]

* test/thread/test_sync.rb (test_sync_lock_and_wakeup,
  test_sync_upgrade_and_wakeup, test_sync_lock_and_raise):
  new test.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36937 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/thread.rb (Queue#pop): Fixed double registration issue when
  mutex.sleep is interrupted. [Bug #5258] [ruby-dev:44448]
* lib/thread.rb (SizedQueue#push): ditto.

* test/thread/test_queue.rb (test_sized_queue_and_wakeup,
test_queue_pop_interrupt, test_sized_queue_pop_interrupt,
test_sized_queue_push_interrupt): new tests.

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