[squeak-dev] The Trunk: Kernel-pre.1430.mcz

commits at source.squeak.org commits at source.squeak.org
Wed Dec 1 13:57:58 UTC 2021

Patrick Rein uploaded a new version of Kernel to project The Trunk:

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

Name: Kernel-pre.1430
Author: pre
Time: 1 December 2021, 2:57:51.27597 pm
UUID: 2ac40a83-9e98-f24b-9bcf-ad603b6e7054
Ancestors: Kernel-nice.1429

Slightly improves the ObjectViewer by returning the ObjectViewer whenever the wrapped object would return itself. Thereby, the ObjectViewer stays in place somewhat longer. 
Recategorizes the ObjectViewer interface on Object to debugging, as it does not have anything to do with dependents access.

=============== Diff against Kernel-nice.1429 ===============

Item was changed:
+ ----- Method: Object>>evaluate:wheneverChangeIn: (in category 'debugging') -----
- ----- Method: Object>>evaluate:wheneverChangeIn: (in category 'dependents access') -----
  evaluate: actionBlock wheneverChangeIn: aspectBlock
  	| viewerThenObject objectThenViewer |
  	objectThenViewer := self.
  	viewerThenObject := ObjectViewer on: objectThenViewer.
  	objectThenViewer become: viewerThenObject.
  	"--- Then ---"
  	objectThenViewer xxxViewedObject: viewerThenObject
  			evaluate: actionBlock
  			wheneverChangeIn: aspectBlock!

Item was changed:
  ----- Method: ObjectViewer>>doesNotUnderstand: (in category 'very few messages') -----
  doesNotUnderstand: aMessage 
  	"Check for change after sending aMessage"
  	| returnValue newValue |
  	recursionFlag ifTrue: [^ aMessage sendTo: tracedObject].
  	recursionFlag := true.
  	returnValue := aMessage sendTo: tracedObject.
+ 	returnValue == tracedObject ifTrue: [
+ 		"Keep the ObjectViewer in place as long as possible"
+ 		returnValue := self].
  	newValue := valueBlock cull: aMessage.
  	newValue = lastValue ifFalse:
  		[changeBlock cull: aMessage.
  		lastValue := newValue].
  	recursionFlag := false.
  	^ returnValue!

More information about the Squeak-dev mailing list