[squeak-dev] The Trunk: Collections-mt.966.mcz

commits at source.squeak.org commits at source.squeak.org
Thu Dec 2 15:06:09 UTC 2021


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].!



More information about the Squeak-dev mailing list