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