The Inbox: Tools-ct.925.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Inbox: Tools-ct.925.mcz

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