* 2013-09-24

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43025 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
win32/registry.rb: fix runtime errors

* ext/win32/lib/win32/registry.rb (Win32::Registry::API): need
  Constants.
* ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumValue):
  size of the name is in WCHARs, not in bytes

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43026 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* class.c (class_alloc): remove mc_tbl

* gc.c (obj_free): ditto

* internal.h (struct rb_classext_struct): ditto

* method.h (rb_method_entry): remove ent param

* vm_method.c: restore the global method cache. Per class cache tables
  turned out to be far too slow.

  [ruby-core:57289] [Bug #8930]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43027 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* gc.c (free_method_cache_entry_i): unused function

* gc.c (rb_free_mc_table): ditto

* internal.h (method_cache_entry_t): unused struct

* vm_method.c (verify_method_cache): remove unused variable

* vm_method.c (rb_method_entry): ditto

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43028 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
win32/registry.rb: fix runtime errors

* ext/win32/lib/win32/registry.rb (Win32::Registry::API#EnumKey):
  size of the name is in WCHARs, not in bytes.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43029 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
win32/registry.rb: encode name

* ext/win32/lib/win32/registry.rb (Win32::Registry#each_value): encode
  name.
* ext/win32/lib/win32/registry.rb (Win32::Registry#each_key): ditto.
* ext/win32/lib/win32/registry.rb (Win32::Registry#export_string):
  encode to locale encoding if default internal is not set.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43030 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
win32/registry.rb: size in bytes

* ext/win32/lib/win32/registry.rb (Win32::Registry#write): data size
  is in bytes, not chars.  terminators should be placed automatically.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43031 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
string/test_ellipsize.rb: remove non-sense tests

* test/-ext-/string/test_ellipsize.rb (Test_StringEllipsize#test_nonascii):
  rb_str_ellipsize() does not support BOM.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43032 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_encodings.rb: remove BOM encodings

* test/csv/test_encodings.rb (TestCSV#each_encoding): encodings with
  BOM are external use only.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43033 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
encdb.c, encoding.c: make BOM-encodings dummy

* enc/encdb.c (ENC_DUMMY_UNICODE): make BOM-encodings dummy.
* encoding.c (enc_autoload): keep dummy encodings dummy.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43034 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
string.c: fix for UTF-16/32

* string.c (rb_str_inspect): get rid of out-of-bound access.
* string.c (rb_str_inspect): when a UTF-16/32 string doesn't have a
  BOM, inspect as a dummy encoding string.

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

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

* NEWS (Language changes): mention about required keyword arguments.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43038 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/rubygems:  Fix CVE-2013-4363.  Miscellaneous minor improvements.

* test/rubygems:  Tests for the above.


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43039 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* test/rdoc/test_rdoc_generator_darkfish.rb: add a guard for windows.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43040 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
test_command_processor.rb: fix for mswin/mingw and test for directory

* test/shell/test_command_processor.rb (test_system_external): fix for
  mswin and mingw.  one of EXECUTABLE_EXTS is needed but shell.rb does
  not support it.

* test/shell/test_command_processor.rb (test_system_directory): test
  not to find directory.  [ruby-core:57235] [Bug #8918]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43041 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
internal.h: move inline functions

* internal.h (rb_float_value, rb_float_new): move inline functions
  from ruby/ruby.h.
* numeric.c (rb_float_value, rb_float_new): define external functions
  for extension libraries.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43042 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* include/ruby/ruby.h: rename RARRAY_RAWPTR() to RARRAY_CONST_PTR().
  RARRAY_RAWPTR(ary) returns (const VALUE *) type pointer and
  usecase of this macro is not acquire raw pointer, but acquire
  read-only pointer. So we rename to better name.
  RSTRUCT_RAWPTR() is also renamed to RSTRUCT_CONST_PTR()
  (I expect that nobody use it).
* array.c, compile.c, cont.c, enumerator.c, gc.c, proc.c, random.c,
  string.c, struct.c, thread.c, vm_eval.c, vm_insnhelper.c:
  catch up this change.



git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@43043 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* README.EXT, README.EXT.ja: remove description of RARRAY_PTR()
  and add a caution of accessing internal data structure directly.
  Also add a description of rb_ary_store().
  [Bug #8399]



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