[前][次][番号順一覧][スレッド一覧]

ruby-changes:11592

From: yugui <ko1@a...>
Date: Sun, 19 Apr 2009 22:35:38 +0900 (JST)
Subject: [ruby-changes:11592] Ruby:r23229 (ruby_1_9_1): merges r23093 from trunk into ruby_1_9_1.

yugui	2009-04-19 22:35:11 +0900 (Sun, 19 Apr 2009)

  New Revision: 23229

  http://svn.ruby-lang.org/cgi-bin/viewvc.cgi?view=rev&revision=23229

  Log:
    merges r23093 from trunk into ruby_1_9_1.
    --
    * lib/pathname.rb (Pathname#relative_path_from): compares path
      components according to system default case-sensitiveness.
      [ruby-core:22829]

  Modified files:
    branches/ruby_1_9_1/ChangeLog
    branches/ruby_1_9_1/lib/pathname.rb

Index: ruby_1_9_1/ChangeLog
===================================================================
--- ruby_1_9_1/ChangeLog	(revision 23228)
+++ ruby_1_9_1/ChangeLog	(revision 23229)
@@ -1,3 +1,9 @@
+Sun Mar 29 08:59:26 2009  Nobuyoshi Nakada  <nobu@r...>
+
+	* lib/pathname.rb (Pathname#relative_path_from): compares path
+	  components according to system default case-sensitiveness.
+	  [ruby-core:22829]
+
 Sat Mar 28 11:10:32 2009  Nobuyoshi Nakada  <nobu@r...>
 
 	* common.mk (ruby.imp): all symbols in static library need to be
Index: ruby_1_9_1/lib/pathname.rb
===================================================================
--- ruby_1_9_1/lib/pathname.rb	(revision 23228)
+++ ruby_1_9_1/lib/pathname.rb	(revision 23229)
@@ -194,6 +194,13 @@
     # to_path is implemented so Pathname objects are usable with File.open, etc.
     TO_PATH = :to_path
   end
+
+  SAME_PATHS = if File::FNM_SYSCASE
+    proc {|a, b| a.casecmp(b).zero?}
+  else
+    proc {|a, b| a == b}
+  end
+
   # :startdoc:
 
   #
@@ -731,12 +738,12 @@
       base_prefix, basename = r
       base_names.unshift basename if basename != '.'
     end
-    if dest_prefix != base_prefix
+    unless SAME_PATHS[dest_prefix, base_prefix]
       raise ArgumentError, "different prefix: #{dest_prefix.inspect} and #{base_directory.inspect}"
     end
     while !dest_names.empty? &&
           !base_names.empty? &&
-          dest_names.first == base_names.first
+          SAME_PATHS[dest_names.first, base_names.first]
       dest_names.shift
       base_names.shift
     end

--
ML: ruby-changes@q...
Info: http://www.atdot.net/~ko1/quickml/

[前][次][番号順一覧][スレッド一覧]