Hi sven

yes I imagine now we should improve in trakcing such changes.
In addition I do not understand why 

        XMLOrderedList new: 10 
        
        breaks the inspector….

This is why all the important libraries should be covered by a jenkins job and 
tests.
So that right on the spot we can identify problems.

Stef


> These important changes were made intentionally, so we need to find the 
> rationale of the change.
> Like is the new behavior covered by new tests ?
> 
> On 03 Mar 2013, at 09:45, stephane ducasse <stephane.duca...@free.fr> wrote:
> 
>> 
>> On Mar 3, 2013, at 9:42 AM, stephane ducasse <stephane.duca...@free.fr> 
>> wrote:
>> 
>>> I could overwrite XMLOrderedList
>>> 
>>> replaceFrom: aStartingIndex to: anEndingIndex with: aCollection startingAt: 
>>> aReplacementStart
>>> 
>>>     
>>>     collection
>>>             replaceFrom: aStartingIndex
>>>             to: anEndingIndex
>>>             with: aCollection
>>>             startingAt: aReplacementStart
>>> 
>>> to make it grow? But I do not really know the impact on the XML library
>>> 
>>>>    self makeRoomFor: (anEndingIndex- self capacity).
>>> 
>>> any idea?
>> 
>> 
>> In fact it will not work since makeRoomFor: and others have been removed and 
>> I do not have the time to dive in 
>> OrderedCollection growing logic.
>> 
>>> 
>>> Stef
>>> 
>>> 
>>> 
>>> 
>>> On Mar 3, 2013, at 9:34 AM, Stéphane Ducasse <stephane.duca...@inria.fr> 
>>> wrote:
>>> 
>>>> Hi guys
>>>> 
>>>> in 1.2.1 
>>>> 
>>>>    OrderedCollection new replaceFrom: 1 to: 5 with: #(6 7 8 9 10) 
>>>> startingAt: 1
>>>>    gave
>>>>            an OrderedCollection(6 7 8 9 10)
>>>> 
>>>> 
>>>> while in 1.4 and 2.0 
>>>>    OrderedCollection new  replaceFrom: 1 to: 5 with: #(6 7 8 9 10) 
>>>> startingAt: 1 
>>>>            raised an error
>>>> 
>>>> Do you have an idea how I can handle that? Because XMLObservableList and 
>>>> XMLOrderedList implements 
>>>> replaceFrom: to: with: startingAt:
>>>> 
>>>> because there is no self makeRoomFor: (stop - self capacity) invocation.
>>>> 
>>>> 
>>>> in 1.4>> 
>>>> replaceFrom: start to: stop with: replacement startingAt: repStart 
>>>>    "This destructively replaces elements from start to stop in the 
>>>> receiver 
>>>>    starting at index, repStart, in the sequenceable collection, 
>>>>    replacementCollection. Answer the receiver. No range checks are 
>>>>    performed."
>>>> 
>>>>    | index repOff |
>>>>    repOff := repStart - start.
>>>>    index := start - 1.
>>>>    [(index := index + 1) <= stop]
>>>>            whileTrue: [self at: index put: (replacement at: repOff + 
>>>> index)]
>>>> 
>>>> at: anInteger put: anObject 
>>>>    "Put anObject at element index anInteger. at:put: cannot be used to
>>>>    append, front or back, to an ordered collection; it is used by a
>>>>    knowledgeable client to replace an element."
>>>>    self ensureBoundsFrom: anInteger to: anInteger.
>>>>    ^array at: anInteger + firstIndex - 1 put: anObject
>>>> 
>>>> 
>>>> in 1.2.1
>>>> 
>>>> replaceFrom: start to: stop with: replacement startingAt: repStart
>>>>    "An ordered collection is growable, so a call to this can make the 
>>>> collection grow."
>>>>    self makeRoomFor: (stop - self capacity).
>>>>    array
>>>>            replaceFrom: start + firstIndex - 1
>>>>            to: stop + firstIndex - 1
>>>>            with: replacement 
>>>>            startingAt: repStart.
>>>>    lastIndex := lastIndex max: stop + firstIndex - 1.
>>> 
>>> 
>> 
>> 
> 
> 


Reply via email to