[#4858] Build fails on OSX Tiger 10.4 — noreply@...

Bugs item #1883, was opened at 2005-05-06 14:55

21 messages 2005/05/06
[#4862] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Yukihiro Matsumoto <matz@...> 2005/05/07

Hi,

[#4865] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Ryan Davis <ryand-ruby@...> 2005/05/07

[#4868] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — nobu.nokada@... 2005/05/07

Hi,

[#5053] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Shugo Maeda <shugo@...> 2005/05/19

Hi,

[#5056] Re: [ ruby-Bugs-1883 ] Build fails on OSX Tiger 10.4 — Mark Hubbart <discordantus@...> 2005/05/19

On 5/19/05, Shugo Maeda <shugo@ruby-lang.org> wrote:

[#4874] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...>

Hello all,

31 messages 2005/05/10
[#4879] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Pit Capitain <pit@...> 2005/05/11

Ilias Lazaridis schrieb:

[#4883] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...> 2005/05/12

Pit Capitain wrote:

[#4884] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ryan Davis <ryand-ruby@...> 2005/05/12

[#4888] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...> 2005/05/12

Ryan Davis wrote:

[#4889] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — ES <ruby-ml@...> 2005/05/12

[#4890] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Ilias Lazaridis <ilias@...> 2005/05/12

ES wrote:

[#4891] Re: [THIN] - Need to reduce Ruby Sources to the Minimal — Alexander Kellett <ruby-lists@...> 2005/05/12

On May 12, 2005, at 3:13 PM, Ilias Lazaridis wrote:

[#4911] Pointless argc check in Array#select — noreply@...

Patches item #1900, was opened at 2005-05-12 09:33

11 messages 2005/05/12

[#4919] - Hierarchical/Modular Directory Structure — Ilias Lazaridis <ilias@...>

The source-code structure should be simplified, lowering barriers for

20 messages 2005/05/12

Re: [ ruby-Patches-1939 ] Pathname, totally revamped

From: "Berger, Daniel" <Daniel.Berger@...>
Date: 2005-05-23 14:06:58 UTC
List: ruby-core #5075
> -----Original Message-----
> From: Tanaka Akira [mailto:akr@m17n.org] 
> Sent: Monday, May 23, 2005 4:53 AM
> To: ruby-core@ruby-lang.org
> Subject: Re: [ ruby-Patches-1939 ] Pathname, totally revamped
> 
> 
> In article <200505211934.j4LJYaJt003878@rubyforge.org>,
>   noreply@rubyforge.org writes:
> 
> > * The cleanpath method works differently.
> 
> How different?

One test in particular stood out when I reimplemented cleanpath:

assert_equal('../../d',
Pathname.new('a/b/../../../../c/../d').cleanpath.to_s)

The current definition of cleanpath says, "Returns clean pathname of
+self+ with consecutive slashes and useless dots removed.".  For the
above test I would have expected "d" as the result.  In my
implementation, that is what is returned.

The other difference is that my implementation removes trailing '/'
characters and unnecessary '.' characters.  Here's a test from the
current implementation:

assert_equal('/a/.', Pathname.new('/a/.').cleanpath(true).to_s)

My implementation simply returns "/a".
 
> > 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.
> 
> Is it possible to document the methods defined by facade using RDoc?

Yes, I merely removed the rdoc comments for the sake of brevity.  If you
download the 'facade' package from the RAA you will see the comments in
facade.rb.
 
> >       # Convert forward slashes to backslashes on Win32
> >       path.tr!("/",@sep) if File::ALT_SEPARATOR
> 
> I think it's not Rubyish.
> See [ruby-talk:52429].

Ok, I took Mark's suggestion (and changed the reliance on
File::ALT_SEPARATOR) and changed that to:

@win32 = PLATFORM.match("mswin32")
path = path.tr("/",@sep) if @win32
 
> >    # Returns the root directory of the path, or '.' if 
> there is no root
> >    # directory.
> >    #
> >    # On Unix, this means the '/' character.  On Win32 
> systems, this can
> >    # refer to the drive letter, or the server and share 
> path if the path
> >    # is a UNC path.
> >    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
> >          end
> >       else
> >          dir = File.dirname(self)
> >          while dir != "/" && dir != "."
> >             dir = File.dirname(dir)
> >          end
> >       end
> >       dir = "." if dir.empty?
> >       dir
> >    end
> 
> The root method returns a string (not pathname).  Is it intentional?

Yes, but if folks think it's better to have it return Pathname.new(dir),
that's fine with me.
 
> In article <20050522135045.25083.qmail@web50301.mail.yahoo.com>,
>   Daniel Berger <djberg96@yahoo.com> writes:
> 
> > First, "+" works as you would expect.
> > Pathname.new("a") + Pathname.new("b") results in
> > "a/b".
> 
> If Pathname inherits String, Pathname is-a String.
> So some people (in some context) that Pathname.new("a") +
> Pathname.new("b") results in "ab" as String.

I have explicitly decreed that the behavior of '+' is different.  It's
documented - people will just have to accept it.  Otherwise, we should
never override any method in a subclass, because hey, people might not
expect different behavior.

BTW, if people want "ab" then they can still use "<<", e.g.
Pathname.new("a") << Pathname.new("b").  So yes, it's possible to have
both behaviors. :)

Regards,

Dan


In This Thread

Prev Next