[darcs patch] filepath: normalise trailing dot

Conrad Parker conrad at metadecks.org
Sat Dec 18 04:30:46 CET 2010


On 3 December 2010 15:19, Conrad Parker <conrad at metadecks.org> wrote:
> On 1 December 2010 15:03, Isaac Dupree <ml at isaac.cedarswampstudios.org> wrote:
>> On 11/30/10 23:59, Conrad Parker wrote:
>>>
>>> Hi,
>>>
>>> I've re-opened ticket #3975 related to this proposal.
>>>
>>> It's a fairly minor patch which ensures that filepaths containing a
>>> trailing dot are normalised consistently, ie. the path "foo/bar/." is
>>> normalised to "foo/bar"
>>
>> Normalize to "foo/bar/" so that it still forces to resolve symlinks and
>> yield a directory.  For example, lstat(), -- you can see the difference by
>> shell `stat foo/bar/` and `stat foo/bar` when bar is a symlink -- or
>> unlink()/rm.  (Or when bar is a plain non-directory file: slash-->deserved
>> error.)  I'm not aware that removing the dot itself has any effect here,
>> though. (counterexamples welcome).
>
> Good point: it would be better to normalise "foo/bar/." to "foo/bar/"
> not "foo/bar"
>
> I've uploaded a new patch for this ticket which retains the trailing
> pathSeparator for directories.
>
> Ticket: http://hackage.haskell.org/trac/ghc/ticket/3975
>
> Patch v2 description:
> -----
> Fri Dec  3 15:04:44 JST 2010  Conrad Parker <conrad at metadecks.org>
>  * normalise trailing dot
>
>  This is version 2 of a patch for ticket #3975
>
>  This patch modifles normalise to treat paths with a trailing dot as the
>  corresponding directory: the trailing . is stripped, and the pathSeparator
>  is appended to the result of joining path components.
>
>  The special case of all path components being "." is handled first, replacing
>  the existing special case test for paths with a leading dot. Dots are now
>  dropped consistently for all path components.
>
>  Additional tests are provided for:
>
>      normalise "./." == "./"
>      normalise "bob/fred/." == "bob/fred/"

Hi,

as there's been no further discussion on this during the requested
period, I've marked the ticket for review.

cheers,

Conrad.



More information about the Libraries mailing list