The Inbox: Morphic-ct.2212.mcz

[email protected] Sun, 21 Jun 2026 16:01:50 0000
Newsgroups gmane.comp.lang.smalltalk.squeak.general
Message-ID <[email protected]>
Christoph Thiede uploaded a new version of Morphic to project The Inbox:
http://source.squeak.org/inbox/Morphic-ct.2212.mcz

==================== Summary ====================

Name: Morphic-ct.2212
Author: ct
Time: 21 June 2026, 6:01:48.655379 pm
UUID: 87803023-bf58-4cc3-8611-88d7a54b7004
Ancestors: Morphic-ct.2208

Avoids storing oblivious text attributes in undo history, as already done in TextEditor>>#selection. Should fix https://github.com/squeak-smalltalk/squeak-object-memory/issues/155 (memory hogs).

=============== Diff against Morphic-ct.2208 ===============

Item was changed:
  ----- Method: TextEditor>>closeTypeIn (in category 'typing support') -----
  closeTypeIn
  	"See comment in openTypeIn.  It is important to call closeTypeIn before executing
  	 any non-typing key, making a new selection, etc.  It is called automatically for
  	 menu commands."
  
  	| begin start stop |
  	beginTypeInIndex ifNotNil:
  		[begin := beginTypeInIndex.
  		stop := self stopIndex.
  		start := self startIndex.
  				
  		self history ifNotNil:
  			[:myHistory|
  			 myHistory current ifNotNil:
  				[:currHistory|
  				currHistory
  					contentsAfter: (stop <= begin
  						ifTrue: [self nullText]
+ 						ifFalse:
+ 							[(paragraph text copyFrom: begin to: stop-1)
+ 								removeAttributesThat: [:attr | attr isOblivious];
+ 								yourself]);
- 						ifFalse: [paragraph text copyFrom: begin to: stop-1]);
  					intervalAfter: (start to: stop-1);
  					intervalBetween: (stop < begin
  						ifTrue: [stop to: stop-1]
  						ifFalse: [begin to: stop-1]);
  					messageToUndo: (Message selector: #undoAndReselect);
  					messageToRedo: (Message selector: #redoAndReselect)].
  				
  			myHistory finishRemember].
  
  		beginTypeInIndex := nil]!

Squeak-dev mailing list -- [email protected]
To unsubscribe send an email to [email protected]