* bignum.c (bigdivrem): Specialized implementation added for
  nx == 2 && ny == 2



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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42219 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
add assert_not_empty ENV['USER']

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

* win32/win32.c (rb_w32_pipe): use enum for compile time constants,
  instead of const int for debugging.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42221 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
vm_eval.c: fix argument type

* vm_eval.c (eval_string_from_file_helper): fix callback argument
  type.  rb_protect passes a VALUE not a pointer.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42222 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mkmf.rb: expand all macros

* 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/trunk@42223 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c (rb_hash_assoc): performance improvement by replacing
  compare function in RHASH(hash)->ntbl->type temporarily.

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

* hash.c (rb_hash_assoc): aggregate object can be initialized only
  with link time constants.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42225 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
hash.c: clear before copy

* hash.c (rb_hash_initialize_copy): clear old table before copy new
  table.


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

* hash.c (rb_hash_initialize_copy): copy st_table type even if empty.
  [ruby-core:56256] [Bug #8703]


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

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

* hash.c (rb_hash_initialize_copy): copy st_table type even if empty.
  [ruby-core:56256] [Bug #8703]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42229 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
parse.y, vm_eval.c: file encoding in eval

* parse.y (yycompile): store file name as String to keep the encoding.

* parse.y (rb_parser_compile_string_path, rb_parser_compile_file_path):
  new functions to pass file name as a String.

* parse.y (gettable_gen): return a copy of the original file name, not
  a copy in filesystem encoding.

* vm_eval.c (eval_string_with_cref): use Qundef instead of "(eval)".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42230 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
parse.y, vm_eval.c: file encoding in eval

* parse.y (yycompile): store file name as String to keep the encoding.
* parse.y (rb_parser_compile_string_path, rb_parser_compile_file_path):
  new functions to pass file name as a String.
* parse.y (gettable_gen): return a copy of the original file name, not
  a copy in filesystem encoding.
* vm_eval.c (eval_string_with_cref): use Qundef instead of "(eval)".

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42231 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c (rb_hash_assoc): revert r42224. table->type->compare is
  called only if hashes are matched.

* test/ruby/test_hash.rb: add a test to check using #== to compare.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42232 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Add a frozenness check to Enumerator#initialize.

* enumerator.c (enumerator_init): Add a frozenness check to
  prevent a frozen Enumerator object from being reinitialized with
  a different enumerable object.  This is the least we should do,
  and more fixes will follow. [Fixes GH-368] Patch by Kenichi
  Kamiya.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42233 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Add a frozenness check to Enumerator::Generator#initialize.

* enumerator.c (generator_init): Ditto.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Add a frozenness check test for Enumerator::Lazy#initialize.

* test/ruby/test_lazy_enumerator.rb
  (TestLazyEnumerator#test_initialize): Make sure
  Enumerator::Lazy#initialize raises error if the object is
  frozen.  The check was performed by rb_ivar_set() before
  rb_check_frozen() was added to enumerator_init().

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42236 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c (rb_hash_assoc): performance improvement by replacing
  compare function in RHASH(hash)->ntbl->type temporarily like r42224.
  it falls back to rb_hash_foreach() if st_lookup() doesn't find the key.

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

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