Hi, At Sun, 22 May 2005 04:41:25 +0900, noreply / rubyforge.org wrote in [ruby-core:05065]: > The 'facade' requirement can be removed and that module can > be inlined if you don't like the dependency. It's only about > 20 lines of code. Where is it? > require "Win32API" if File::ALT_SEPARATOR File::ALT_SEPARATOR is not Windows specific. > def initialize(path) > @sep = File::ALT_SEPARATOR || File::SEPARATOR > > # Convert forward slashes to backslashes on Win32 > path.tr!("/",@sep) if File::ALT_SEPARATOR This changes the argument. > def root > dir = "." > if File::ALT_SEPARATOR > # We only want the portion up to the first '\0' > if @@PathStripToRoot.call(self) > 0 > dir = self.split(0.chr).first This is destructive operation. > def +(string) > unless string.kind_of?(Pathname) > string = Pathname.new(string) > end > > # Any path plus "." is the same directory > return self if string == "." > > # Use the builtin PathAppend method if on Windows - much easier > if File::ALT_SEPARATOR > buf = 0.chr * MAX_PATH > buf[0..self.length-1] = self > @@PathAppend.call(buf, string << 0.chr) Also. And, I doubt about necessity of Win32API. -- Nobu Nakada