[squeak-dev] The Trunk: Tools-mt.1106.mcz

commits at source.squeak.org commits at source.squeak.org
Fri Jan 14 16:25:55 UTC 2022


Marcel Taeumel uploaded a new version of Tools to project The Trunk:
http://source.squeak.org/trunk/Tools-mt.1106.mcz

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

Name: Tools-mt.1106
Author: mt
Time: 14 January 2022, 5:25:52.988796 pm
UUID: b34a81cd-911f-374c-921e-a40071c98798
Ancestors: Tools-mt.1105

Revise last commit in favor of what Christoph (ct) proposed.

Note that I am still not so sure that it is a good idea to integrate debugging tools into regular widgets like this. Warnings seem much better suited for this case, leaving the UI clean.

=============== Diff against Tools-mt.1105 ===============

Item was removed:
- Warning subclass: #MenuBuilderFailed
- 	instanceVariableNames: 'builderError'
- 	classVariableNames: ''
- 	poolDictionaries: ''
- 	category: 'Tools-Menus'!

Item was removed:
- ----- Method: MenuBuilderFailed class>>signal:for: (in category 'instance creation') -----
- signal: signalerText for: builderError
- 
- 	^ self suppressed
- 		ifTrue: [nil]
- 		ifFalse: [self new
- 			builderError: builderError;
- 			signal: signalerText]!

Item was removed:
- ----- Method: MenuBuilderFailed>>builderError (in category 'accessing') -----
- builderError
- 
- 	^ builderError!

Item was removed:
- ----- Method: MenuBuilderFailed>>builderError: (in category 'accessing') -----
- builderError: anObject
- 
- 	builderError := anObject.!

Item was removed:
- ----- Method: MenuBuilderFailed>>defaultAction (in category 'priv handling') -----
- defaultAction
- 
- 	super defaultAction.
- 	self builderError pass.!

Item was changed:
  ----- Method: Model>>buildMenu:withBuilders:shifted: (in category '*Tools-pluggable menus') -----
  buildMenu: aMenu withBuilders: builders shifted: aBoolean
  	" We let every builder modify the menu. Skip erroneous builders silently.
  	The builder should indicate whether to abort by returning nil."
  	| menu |
  	menu := aMenu.
+ 	builders do: [:builder | | buildBlock |
+ 		buildBlock := [menu := self perform: builder method selector withEnoughArguments: {menu . aBoolean}].
+ 		buildBlock
+ 			on: Error, Warning, Halt do: [:ex |
+ 				menu add: ('<menu builder failed: {1}>' translated format: {ex}) action: buildBlock]].
+ 	^ menu!
- 	builders do: [:builder |
- 		menu := [self perform: builder method selector withEnoughArguments: { menu . aBoolean }]
- 			on: Error do: [:ex |
- 				MenuBuilderFailed
- 					signal: ('Menu builder failed.\\{1}\\Proceed to debug the error. Suppress and cancel this warning to not see it again. Read on.' withCRs translated format: {ex message})
- 					for: ex.
- 				menu].
- 		menu ifNil: [^ aMenu]].
- 	^ menu
- !



More information about the Squeak-dev mailing list