Marcel Taeumel uploaded a new version of Collections to project The Trunk: http://source.squeak.org/trunk/Collections-mt.966.mcz
==================== Summary ====================
Name: Collections-mt.966 Author: mt Time: 2 December 2021, 4:06:07.345715 pm UUID: e18db8cb-0b3c-1d48-95f3-f5955e1ea837 Ancestors: Collections-mt.965
New message on Text: add a text attribute to the entire text unless there is a conflict with an existing text attribute. So, automatically compute the ranges that fit.
=============== Diff against Collections-mt.965 ===============
Item was added: + ----- Method: Text>>addAttribute:unless: (in category 'emphasis') ----- + addAttribute: anAttribute unless: aBlock + "Only add anAttribute when aBlock evaluates to false. Can be used to avoid overwriting existing attributes without knowing exactly where they are. Kind of complements the #dominates: protocol in TextAttribute." + + | offset | + self flag: #performance. "mt: Can we do this faster?" + runs copy withIndexDo: [:attrs :index | + (aBlock cull: attrs cull: index) + ifFalse: [offset ifNil: [ + offset := index]] + ifTrue: [offset ifNotNil: [ + self addAttribute: anAttribute from: offset to: index - 1. + offset := nil]]]. + offset ifNotNil: [ + self addAttribute: anAttribute from: offset to: self size].!
squeak-dev@lists.squeakfoundation.org