Added a test for CoW strings.

by John Shahid <jvshahid@gmail.com>
https://github.com/ruby/ruby/pull/148

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36809 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
* lib/net/http/backward.rb (class Net):  Restored Net::HTTPSession to
  fix backwards-compatibility with ancient Net::HTTP.  [Bug #6889]


git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36810 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Improve require/File.expand_path performance on Windows

* configure.in (mingw): add shlwapi to the list of dependency
  libs for Windows.
* win32/Makefile.sub (EXTSOLIBS): ditto.

* internal.h: declare internal functions rb_w32_init_file,
  rb_file_expand_path_internal and rb_file_expand_path_fast.

* file.c (Init_File): invoke Windows initialization rb_w32_init_file

* win32/file.c (rb_file_load_path_internal): new function.
  Windows-specific implementation that replaces file_expand_path.
  [Bug #6836][ruby-core:46996]

* win32/file.c (rb_w32_init_file): new function. Initialize codepage
  cache for faster conversion encodings lookup.

* file.c (file_expand_path): rename to rb_file_expand_path_internal.
  Conditionally exclude from Windows.

* file.c (rb_file_expand_path_fast): new function. delegates to
  rb_file_expand_path_internal without performing a hit to the
  filesystem.

* file.c (file_expand_path_1): use rb_file_expand_path_internal without
  path expansion (used by require).
* file.c (rb_find_file_ext_safe): ditto.
* file.c (rb_find_file_safe): ditto.

* load.c (rb_get_expanded_load_path): use rb_file_expand_path_fast.
* load.c (rb_feature_provided): ditto.

* file.c (rb_file_expand_path): use rb_file_expand_path_internal with
  path expansion.
* file.c (rb_file_absolute_path): ditto.

* test/ruby/test_file_exhaustive.rb: new tests to exercise
  rb_file_expand_path_internal implementation and compliance with
  existing behaviors.

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36811 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
Remove incorrectly committed timestamp file

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

* win32: ignore timestamp file.

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

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36814 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
mkmf.rb: timestamp for directories

* lib/mkmf.rb (create_makefile): use timestamp for destination
  directories.  [ruby-dev:46067] [Bug #6904]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@36815 b2dd03c8-39d4-4d8f-98ff-823fe69b080e
ChangeLog: add description [ruby-dev:46067] [Bug #6904]

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

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

* lib/mkmf.rb (create_makefile): remove unnecessary rule and newline.
  [ruby-dev:46067] [Bug #6904]

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

* include/ruby/ruby.h (rb_float_new): suppress bitwise-op-parentheses
  warning, and zero-expand to VALUE before bit negation to get rid of
  confusion.

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