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
* hash.c (rb_hash_compare_by_id): don't call rb_hash_rehash()
  if self.compare_by_identity? == true.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42238 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* hash.c (rb_hash_compare_by_id): add function prototype.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42239 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* bignum.c (LOG2_KARATSUBA_BIG2STR_DIGITS): Renamed from
  LOG2_KARATSUBA_DIGITS.
  (KARATSUBA_BIG2STR_DIGITS): Renamed from KARATSUBA_DIGITS.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42240 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* ext/curses/curses.c: [DOC] Update location of samples
* samples/curses/*: Move Curses samples and refactor from mixin
  The samples are included in rdoc for module and use of mixin is
  confusing


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42241 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/ruby/test_hash.rb: use @cls.

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

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

* sizes.c (Init_sizes): define RbConfig::SIZEOF.  [Feature #8568]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@42244 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* sizes.c (Init_sizes): Define sizes only if the type actually exists.


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

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