[squeak-dev] The Inbox: Tools-ct.925.mcz

commits at source.squeak.org commits at source.squeak.org
Mon Dec 16 10:49:30 UTC 2019


A new version of Tools was added to project The Inbox:
http://source.squeak.org/inbox/Tools-ct.925.mcz

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

Name: Tools-ct.925
Author: ct
Time: 16 December 2019, 11:49:26.255097 am
UUID: a5739343-6229-f447-9487-3086b6319c4b
Ancestors: Tools-ct.924

Complements System-ct.1130 (convenience method for error recursion flag)

=============== Diff against Tools-ct.924 ===============

Item was changed:
  ----- Method: Debugger class>>openOn:context:label:contents:fullView: (in category 'opening') -----
  openOn: process context: context label: title contents: contentsStringOrNil fullView: bool
  	"Kind of private. Open a notifier or a full debugger in response to an error, halt, or notify. Opens a project-specific debugger. Decorates that invocation with (1) recursive-error detection and (2) error logging, which are both independent from the active GUI framework, that is, MVC or Morphic.
  	
  	Note that clients should debug processes through Process >> #debug instead of calling this method directly."
  
  	| ap |
  	ap := Processor activeProcess.
  	
  	"If the active process re-enters this method again, something went wrong with invoking the debugger."
  	ap hasRecursiveError ifTrue: [
  		ap clearErrorRecursionFlag.
  		^ ToolSet handleRecursiveError: title].
  	
  	"Explicitely handle logging exceptions. No need to bother the recursion mechanism here."
  	[Preferences logDebuggerStackToFile
  		ifTrue: [Smalltalk logSqueakError: title inContext: context]
  	] on: Error do: [:ex |
  		Preferences disable: #logDebuggerStackToFile.
  		ToolSet debugException: ex].
  
+ 	"If project-specific debuggers mess up, we have to flag that recursion here. See above."
+ 	ap setErrorRecursionFlagDuring: [
- 	"If project-specific debuggers mess up, we have to flag that recursion here. Se above."
- 	[ap setErrorRecursionFlag.
- 
  		self informExistingDebugger: context label: title.
- 
  		^ Project current debuggerClass
+ 			openOn: process context: context label: title contents: contentsStringOrNil fullView: bool].!
- 			openOn: process context: context label: title contents: contentsStringOrNil fullView: bool
- 
- 	] ensure: [ap clearErrorRecursionFlag].!



More information about the Squeak-dev mailing list