Path bug list
Boriss Mejias
boris.mejias at uclouvain.be
Thu Mar 15 16:12:33 CET 2007
Hi Torsten,
Considering that after running your test I agree with the patch you
submitted, and that Denys hasn't come back with a disagreement, and
considering that nobody else has rejected the proposal, I had assigned
you the ToDo task 15: "Decide about patch for Path.oz", so please commit
your fix to the repository.
It will be a good idea that you document a bug report in gforge as well.
If there is any related bug report from the old system, please also
mention its id number in your committing message.
cheers
Boriss
Boriss Mejias wrote:
> Torsten Anders wrote:
>> Hi,
>>
>> I tried to add a link from the TODO list entry concerning Path (see
>> link below) to to the posting I sent on 28.02.2007. It appears I don't
>> have the rights to do that. Could perhaps somebody else add such a
>> link, so this bug list is not lost when someone else finally looks at
>> this issue.
>
> Ok, it's done. It appears as a follow up.
>
>>
>> http://gforge.info.ucl.ac.be/pm/task.php?func=detailtask&project_task_id=15&group_id=17&group_project_id=26
>>
>>
>> BTW: Should there perhaps be some general policy what to do in case
>> someone submitted a patch and nobody raised any specific concerns for
>> about a month (as in this case).
>
> I agree. Currently there is a time out of two weeks for the voting
> process of MEPs, which involve bigger changes than bug fixes. In fact,
> it was agreed that bug fixes don't need any MEP because it's a smaller
> and faster contribution.
>
> I had a look at the tests you submitted (running on Mac) and everything
> behave as you reported, so I'm in favour of committing this patch as
> soon as possible to the trunk.
>
> cheers
> Boriss
>
>>
>> Thank you!
>>
>> Best,
>> Torsten
>>
>> On 28.02.2007, at 08:39, Torsten Anders wrote:
>>> Dear Hackers,
>>>
>>> On 26.02.2007, at 14:08, Boriss Mejias wrote:
>>>> +Decide about patch for Path.oz
>>>> - I haven't assigned anybody here. Denys, do you want to take care
>>>> of this? In that case, please feel free to change the ending date
>>>> and the estimated time.
>>>
>>> It seems nobody had time so far to look into my patch for the Path
>>> std-lib, which I posted here on Mon Feb 12. In order to demonstrate
>>> the urgency that something is done about Path, following is a (rather
>>> long!) list of bugs in Path (see below). All these bugs are fixed in
>>> my patch. In addition, I refactored the Path functor, added
>>> definitions for consistency, and also added comments plus test cases
>>> in order to simplify the job for the next guy doing fixes.
>>>
>>> Thank you!
>>>
>>> Best,
>>> Torsten
>>>
>>> --
>>> Torsten Anders
>>> Sonic Arts Research Centre • Queen's University Belfast
>>> Frankstr. 49 • D-50996 Köln
>>> Tel: +49-221-3980750
>>> http://strasheela.sourceforge.net
>>> http://www.torsten-anders.de
>>>
>>> ------------------------------------------------
>>>
>>>
>>> %% orig Path
>>> declare [Path]={Module.link ['x-oz://system/os/Path.ozf']}
>>>
>>>
>>> %% [1: init] On MacOS, this call results in an error: every path
>>> object must end with a slash, even a plain file like
>>> '/home/test/tmp.txt/'
>>> %% NB: This problem pops up with every definition in the functional
>>> Path API, because all rely on Path.make.
>>> {Path.make '/home/test/tmp.txt'}
>>>
>>> %******************** Error: conditional failed *****************
>>> %**
>>> %** Missing else clause
>>> %**
>>>
>>> /*
>>> %% some kludge to avoid the problem, but this is not the expected way
>>> to do things
>>> {New Path.'class' init('/home/test/tmp.txt' exact:true)}
>>> */
>>>
>>>
>>> %% All the following tests were run on Linux:
>>>
>>> %% [2: init]
>>> {{Path.make '/'} toString($)}
>>> %% -> nil
>>> {{Path.make '/'} toAtom($)}
>>> %% -> ''
>>>
>>> %% [3]
>>> {{Path.make '/'} isAbsolute($)}
>>> %% -> false
>>>
>>> %% NB: several other Path methods fail on "/" as well.
>>>
>>> %% [4: basename] .. neither correct path, nor does it cut of the dirname
>>> {{{Path.make '/home/test.txt'} basename($)} toString($)}
>>> %% -> "/homehome/test.txt"
>>>
>>> %% [5: dirname] ... neither correct path, nor does it cut of the
>>> basename
>>> {{{Path.make '/home/test/tmp.txt'} dirname($)} toString($)}
>>> %% -> "/homehome/testhomehomte/test/tmp.txt"
>>>
>>> %% [6: basenameString] .. outputs string in list
>>> {{Path.make '/home/test/tmp.txt'} basenameString($)}
>>> %% ["tmp.txt"]
>>>
>>>
>>> %% [7: resolve] .. garbles the first path and ignores the second
>>> instead of appending it
>>> {{{Path.make '/home/test/'} resolve('testDir/myFile.txt' $)}
>>> toString($)}
>>> %% "/homehome/test/"
>>>
>>>
>>> %% [8: isRoot] .. isRoot can not distinguish between empty path and root
>>> {{Path.make nil} isRoot($)}
>>> %% -> true
>>>
>>> %% [9: extension] .. extension never returns the extension, always
>>> unit for a non-existing extension. BTW:
>>> {{Path.make '/home/test/tmp.txt'} extension($)}
>>> %% -> unit
>>>
>>> %% [10: dropExtension] .. dropExtension drops more than the extension
>>> {{{Path.make '/home/test/tmp.txt'} dropExtension($)} toString($)}
>>> %% -> "/homehome/test"
>>>
>>> %% [11: addExtension] .. addExtension drops stuff instead
>>> {{{Path.make '/home/test/tmp'} addExtension('txt' $)} toString($)}
>>> %% -> "/homehome/test"
>>>
>>>
>>> %% [12: readdir] .. garbles pathes
>>> {Map {{Path.getcwd} readdir($)} fun {$ P} {P toString($)} end}
>>>
>>> _________________________________________________________________________________
>>>
>>> mozart-hackers mailing list
>>> mozart-hackers at mozart-oz.org
>>> http://www.mozart-oz.org/mailman/listinfo/mozart-hackers
>>>
>>>
>> --
>> Torsten Anders
>> Sonic Arts Research Centre • Queen's University Belfast
>> Frankstr. 49 • D-50996 Köln
>> Tel: +49-221-3980750
>> http://strasheela.sourceforge.net
>> http://www.torsten-anders.de
>>
>> _________________________________________________________________________________
>>
>> mozart-hackers mailing list
>> mozart-hackers at mozart-oz.org
>> http://www.mozart-oz.org/mailman/listinfo/mozart-hackers
> _________________________________________________________________________________
>
> mozart-hackers mailing list
> mozart-hackers at mozart-oz.org
> http://www.mozart-oz.org/mailman/listinfo/mozart-hackers
More information about the mozart-hackers
mailing list