Revert r35616 "* ext/bigdecimal/bigdecimal.c: use RB_GC_GUARD. [ruby-dev:45627]"

RB_GC_GUARD() is only for variables on the machine stack, because it
forces a VALUE to be stored in a variable which should be referenced
from the GC, but does not add any reference path to the variable.
So it makes no sense for objects in heap.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35618 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* ext/bigdecimal/bigdecimal.c (PUSH): to prevent VALUE from GC,
	  must not cast it to unsigned long, which may be shorter than
	  VALUE, and the result can be mere garbage.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35619 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Bug #6419: fix cmdarg begin

* parse.y (primary): begin/end block should be isolated from outside.
  [ruby-dev:45631][Bug #6419]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35620 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Add a test: BigDecimal("0").div(BigDecimal("Infinity")).

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35621 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (rb_threadptr_execute_interrupts_common): th->errinfo is
  not Fixnum, but exception object.
  This causes test_signal_requiring of test/ruby/test_signal.rb fail
  if the sub process is killed on waiting IO in lex_io_gets in require
  itself, not sleep.

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

It breaks bootstraptest/test_exception.rb:388.

"* thread.c (rb_threadptr_execute_interrupts_common): th->errinfo is"

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35624 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* thread.c (rb_threadptr_execute_interrupts_common):
  test_signal_requiring of test/ruby/test_signal.rb fail if the sub
  process is killed on waiting IO in lex_io_gets in rb_load_file in
  rb_load_internal in require.
  This is because
  (1) the process receive the killing signal in
      rb_thread_io_blocking_region in rb_read_internal in lex_io_gets.
  (2) set th->errinfo as INT2FIX(TAG_FATAL) at
      rb_threadptr_execute_interrupts_common.
  (3) escape rb_load_file in rb_load_internal and jump to EXEC_TAG()
      without set loaded as TRUE.
  (4) call first rb_exc_raise(GET_THREAD()->errinfo); because loaded
      is FALSE as above. this errinfo should be an exception object
      but this is INT2FIX(TAG_FATAL).
  Don't call first rb_exc_raise if GET_THREAD()->errinfo is Fixnum.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35625 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/fileutils.rb (cp_r):  Fixed cp_r example.  Patch by TJ Koblentz
  from pull request #114.  [ruby-trunk - Bug #6410]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35626 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/sdbm/init.c:  Added documentation.  Patch by Justin Collins,
  cleanup by Zachary Scott.  [ruby-trunk - #6410]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35628 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fixed issue number in fileutils changelog entry

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35629 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_io.rb (class TestIO):  Disable GC during IO tests to
  avoid file descriptors being GC'ed. Suggestion by Tomoyuki Chikanaga
  [ruby-core:43951][Bug #6228]

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35632 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* ext/date/date_strftime.c: refactored.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35633 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* ext/date/date_strftime.c: removed unused code and changed the style.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35634 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/etc/etc.c (passwd_ensure): move endpwent() call from
  passwd_iterate to close /etc/passwd on exception.
  (group_ensure): move endgrent() call from group_iterate to close
  /etc/group on exception.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35635 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_io.rb (TestIO): revert r35631. it broke the intent of
  test_flush_in_finalizer1.  [ruby-core:43951] [Bug ##6228]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35636 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_io.rb (test_flush_in_finalizer1): don't use IO.for_fd
  to close IO objects. it create IO object with already closed fd, and
  cause occasional Errno::EBADF in following tests. [ruby-core:45020]
  [Bug #6228]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@35637 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* enumerator.c (lazy_take_func, lazy_take): multiple calls of
  force/to_a method to Enumerator::Lazy#take should return same
  results. [ruby-dev:45634] [Bug #6428]

* test/ruby/test_lazy_enumerator.rb (test_take_recycle): add test for
  above.

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

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