[#23657] [Bug #1550] String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes — Run Paint Run Run <redmine@...>

Bug #1550: String#lstrip! raises RuntimeError on Frozen String Despite Making No Changes

13 messages 2009/06/01

[#23729] [Bug #1583] Time + String no Longer Raises TypeError? — Run Paint Run Run <redmine@...>

Bug #1583: Time + String no Longer Raises TypeError?

14 messages 2009/06/05

[#23770] [Bug #1595] rake unusable on windows install — Robert Gonzalez <redmine@...>

Bug #1595: rake unusable on windows install

10 messages 2009/06/09

[#23869] [Bug #1640] [PATCH] Documentation for the Rational Class — Run Paint Run Run <redmine@...>

Bug #1640: [PATCH] Documentation for the Rational Class

12 messages 2009/06/16

[#23903] [Bug #1648] Rational#div Raises NoMethodError for Invalid Argument — Run Paint Run Run <redmine@...>

Bug #1648: Rational#div Raises NoMethodError for Invalid Argument

9 messages 2009/06/17

[#23977] [ANN] meeting log of RubyDeveloperKaigi20090622 — "Yugui (Yuki Sonoda)" <yugui@...>

Hi,

41 messages 2009/06/23
[#23979] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — Run Paint Run Run <runrun@...> 2009/06/23

Thanks for the update. :-)

[#24173] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — "NARUSE, Yui" <naruse@...> 2009/07/07

Sorry for late response,

[#24174] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — Luis Lavena <luislavena@...> 2009/07/07

On Tue, Jul 7, 2009 at 12:12 AM, NARUSE, Yui<naruse@airemix.jp> wrote:

[#24242] Re: [ANN] meeting log of RubyDeveloperKaigi20090622 — Charles Oliver Nutter <headius@...> 2009/07/09

On Mon, Jul 6, 2009 at 10:18 PM, Luis Lavena<luislavena@gmail.com> wrote:

[#24010] [Bug #1685] Some windows unicode path issues remain — B Kelly <redmine@...>

Bug #1685: Some windows unicode path issues remain

26 messages 2009/06/24
[#29189] [Bug #1685] Some windows unicode path issues remain — Yuki Sonoda <redmine@...> 2010/04/01

Issue #1685 has been updated by Yuki Sonoda.

[#29200] Re: [Bug #1685] Some windows unicode path issues remain — Bill Kelly <billk@...> 2010/04/01

Yuki Sonoda wrote:

[#29892] Re: [Bug #1685] Some windows unicode path issues remain — Bill Kelly <billk@...> 2010/04/29

Hi,

[#24058] [Bug #1696] http downloads are unuseably slow — Steven Hartland <redmine@...>

Bug #1696: http downloads are unuseably slow

19 messages 2009/06/27

[#24063] [Feature #1697] Object#<=> — Marc-Andre Lafortune <redmine@...>

Feature #1697: Object#<=>

15 messages 2009/06/28

[ruby-core:23845] [Bug #1627] Kernel.require Should Canonicalise Paths

From: Run Paint Run Run <redmine@...>
Date: 2009-06-13 22:34:32 UTC
List: ruby-core #23845
Bug #1627: Kernel.require Should Canonicalise Paths
http://redmine.ruby-lang.org/issues/show/1627

Author: Run Paint Run Run
Status: Open, Priority: Normal
Category: core, Target version: 1.9.x
ruby -v: ruby 1.9.2dev (2009-06-13 trunk 23682) [i686-linux]

Kernel.require on 1.9 is far saner than 1.8 with respect to normalizing path names before storing them in $". To use the example from the rdoc, `require 'a'` and `require './a'` are now correctly regarded as identical, causing 'a' to be loaded only once. (I have a separate ticket open to update the rdoc).

However, there are still a couple of edge cases when paths aren't normalised.

    >> require '/tmp/../tmp/c.rb'
    c.rb
    => true
    >> require '/tmp/c.rb'
    c.rb
    => true
    >> require '/../../../tmp/c.rb'
    c.rb
    => true
    >> $".grep /c.rb/
    => ["/tmp/../tmp/c.rb", "/tmp/c.rb", "/../../../tmp/c.rb"]

Another is that multiple consecutive separators are not collapsed: 

    >> require '/tmp/c.rb'
    c.rb
    => true
    >> require '/tmp//c.rb'
    c.rb
    => true
    >> $".grep /c.rb/
    => ["/tmp/c.rb", "/tmp//c.rb"]

However, tilde expansion is handled correctly:

    >> require '/tmp/c'
    c.rb
    => true
    >> require '~/../../tmp/c'
    => false
    >> $".grep /c.rb/
    => ["/tmp/c.rb"]

In all cases the path should be expanded and made absolute before being stored in $". This would presumably aid performance, avoid files being inadvertently loaded multiple times, and be more consistent.

(As an aside, all filenames in $" on my system are absolute apart from 'enumerator.so', which is relative. It would be more consistent if all such paths were absolute.)


----------------------------------------
http://redmine.ruby-lang.org

In This Thread

Prev Next