[darcs patch] filepath: normalise trailing dot

Simon Marlow marlowsd at gmail.com
Tue Dec 21 15:46:49 CET 2010


On 18/12/2010 03:30, Conrad Parker wrote:
> 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.

This is a change in behaviour, so presumably there should be a version 
number bump too?  Neil?

Cheers,
	Simon



More information about the Libraries mailing list