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

ruby-changes:17328

From: usa <ko1@a...>
Date: Fri, 24 Sep 2010 16:23:52 +0900 (JST)
Subject: [ruby-changes:17328] Ruby:r29333 (ruby_1_8): * lib/pathname.rb (relative_path_from): backport r23093 and r25440

usa	2010-09-24 16:23:44 +0900 (Fri, 24 Sep 2010)

  New Revision: 29333

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

  Log:
    * lib/pathname.rb (relative_path_from): backport r23093 and r25440
      from ruby_1_9_2.  [ruby-core:32415]

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

Index: ruby_1_8/ChangeLog
===================================================================
--- ruby_1_8/ChangeLog	(revision 29332)
+++ ruby_1_8/ChangeLog	(revision 29333)
@@ -1,3 +1,8 @@
+Fri Sep 24 16:22:40 2010  NAKAMURA Usaku  <usa@r...>
+
+	* lib/pathname.rb (relative_path_from): backport r23093 and r25440
+	  from ruby_1_9_2.  [ruby-core:32415]
+
 Fri Sep 24 03:00:26 2010  Nobuyoshi Nakada  <nobu@r...>
 
 	* eval.c (rb_add_threadswitch_hook): wrapper for unofficial APIs
Index: ruby_1_8/lib/pathname.rb
===================================================================
--- ruby_1_8/lib/pathname.rb	(revision 29332)
+++ ruby_1_8/lib/pathname.rb	(revision 29333)
@@ -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.nonzero?
+    proc {|a, b| a.casecmp(b).zero?}
+  else
+    proc {|a, b| a == b}
+  end
+
   # :startdoc:
 
   #
@@ -719,12 +726,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/

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