Add some corner cases to tests for String#index.

* test/ruby/test_string.rb (TestString#test_index): Add some
  corner cases to tests for String#index, which might fail if ruby
  directly used a buggy memmem(3) implementation.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37792 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Apply performance improvement to short byte array search.

* re.c (rb_memsearch_ss): Apply performance improvement to short
  byte array search for platforms without memmem(3).
  [Feature #6311] [ruby-dev:45530]

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



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37794 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Drop executable bits of files that are not executable.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37795 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm_insnhelper.h: partly revert r37631 (DTrace support).
  "vm usage information is always collected, so uncomment the
  functions." causes performance impact. [Bug #7370]
  Off course this revert disables related probes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37796 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* vm.c: Don't define vm_collect_usage_operand() and
  static void vm_collect_usage_insn() when disabling
  VM_COLLECT_USAGE_DETAILS. (refix r37796)

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37797 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in: run preprocessor when making probe.h
* probes.d: define probe insn and insn__operand only when
  VM_COLLECT_USAGE_DETAILS is 1. [Bug #7370]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37798 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* tool/gen_dummy_probes.rb: don't change #include, #if and #endif
  lines. [Bug #7370]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37799 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/nkf/nkf-utf8: Merge b0a6577a521d1bba5e19853f95d5c4b9be1072b5.
  Support JIS X 0213 and some bugfixes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37800 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (probes.o): add -C to ignore #include in probes.d.

* probes.d: include vm_opts.h instead of vm_core.h.

* vm_opts.h (VM_COLLECT_USAGE_DETAILS): move definition from vm_core.h.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37801 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk, Makefile.in, win32/Makefile.sub (.dmyh.h): nmake merges
  explicit rules for same target, but not merges exlicit rules and
  implicit rules -- always explict rules win.  So, need to add an
  explist rule for probes.h.
  reported by Heesob Park at [Bug #7421] [ruby-core:49839]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37802 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* Makefile.in (.dmyh.h): removed $(VPATH). GNU make don't
  recognize suffix rule with VPATH.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37803 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* complex.c (string_to_c_strict, string_to_c): check NUL.
	* rational.c (string_to_r_strict, string_to_r): ditto.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37804 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
	* test/ruby/test_rubyoptions.rb: added a test.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37805 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* common.mk, win32/Makefile.sub (probes.dmyh): now be made in current
  (=build) directory if build from the repository.


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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37807 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Fix cache validity check of require

* array.c (rb_ary_shared_with_p): fix cache validity check.
  If #pop or #shift has been called against $: or $", the array will
  be still shared with the snapshot. We check array length for cache
  validity.
  [ruby-core:49518] [Bug #7383]

* test/ruby/test_require.rb
  (TestRequire#test_require_with_array_pop,
   TestRequire#test_require_with_array_shift): add tests for above.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@37808 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (is_swept_object): extract from is_dead_object().

* gc.c (rb_gcdebug_print_obj_condition): add the function for debug.
  This function shows some conditions of given object (e.g.,
  marked, in heap, swept).

* gc.c (rb_gcdebug_sentinel): add the function for debug.
  This function allow check to inadvertently free up an object.

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

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