Christoph Thiede uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-ct.1493.mcz
==================== Summary ====================
Name: Kernel-ct.1493 Author: ct Time: 25 November 2022, 6:20:03.170214 pm UUID: 4ed198f9-d0db-ec40-884f-88826ffae1f5 Ancestors: Kernel-nice.1492
Merges recursive-profaide: Adds support for recursive process-faithful debugging. Without this patch, debugging the debugger for a process which sends Processor activeProcess will have a different effect than running the original debugger directly. See tests in KernelTests-ct.440 and ToolsTests-ct.117. This is kind of a delayed follow-up on Kernel-mt.1381. Thanks to Marcel for discussing this issue!
=============== Diff against Kernel-nice.1492 ===============
Item was changed: ----- Method: Process>>effectiveProcess (in category 'accessing') ----- effectiveProcess + "effectiveProcess is a mechanism to allow process-faithful debugging. The debugger executes code on behalf of processes, so unless some effort is made the identity of Processor activeProcess is not correctly maintained when debugging code. The debugger uses evaluate:onBehalfOf: to assign the debugged process as the effectiveProcess of the process executing the code, preserving process identity." + + ^effectiveProcess + ifNil: [self] + ifNotNil: [:process | + "Recursive process-faithful debugging. See DebuggerTests>>#test25RecursiveProcessFaithfulDebugging for a practical example." + process effectiveProcess]! - "effectiveProcess is a mechanism to allow process-faithful debugging. The debugger executes code - on behalf of processes, so unless some effort is made the identity of Processor activeProcess is not - correctly maintained when debugging code. The debugger uses evaluate:onBehalfOf: to assign the - debugged process as the effectiveProcess of the process executing the code, preserving process - identity." - ^effectiveProcess ifNil: [self]!
Hi Christoph,
doh! of course!
On Fri, Nov 25, 2022 at 9:20 AM commits@source.squeak.org wrote:
Christoph Thiede uploaded a new version of Kernel to project The Trunk: http://source.squeak.org/trunk/Kernel-ct.1493.mcz
==================== Summary ====================
Name: Kernel-ct.1493 Author: ct Time: 25 November 2022, 6:20:03.170214 pm UUID: 4ed198f9-d0db-ec40-884f-88826ffae1f5 Ancestors: Kernel-nice.1492
Merges recursive-profaide: Adds support for recursive process-faithful debugging. Without this patch, debugging the debugger for a process which sends Processor activeProcess will have a different effect than running the original debugger directly. See tests in KernelTests-ct.440 and ToolsTests-ct.117.
This is kind of a delayed follow-up on Kernel-mt.1381. Thanks to
Marcel for discussing this issue!
=============== Diff against Kernel-nice.1492 ===============
Item was changed: ----- Method: Process>>effectiveProcess (in category 'accessing') ----- effectiveProcess
"effectiveProcess is a mechanism to allow process-faithful
debugging. The debugger executes code on behalf of processes, so unless some effort is made the identity of Processor activeProcess is not correctly maintained when debugging code. The debugger uses evaluate:onBehalfOf: to assign the debugged process as the effectiveProcess of the process executing the code, preserving process identity."
^effectiveProcess
ifNil: [self]
ifNotNil: [:process |
"Recursive process-faithful debugging. See
DebuggerTests>>#test25RecursiveProcessFaithfulDebugging for a practical example."
process effectiveProcess]!
"effectiveProcess is a mechanism to allow process-faithful
debugging. The debugger executes code
on behalf of processes, so unless some effort is made the
identity of Processor activeProcess is not
correctly maintained when debugging code. The debugger uses
evaluate:onBehalfOf: to assign the
debugged process as the effectiveProcess of the process executing
the code, preserving process
identity."
^effectiveProcess ifNil: [self]!
squeak-dev@lists.squeakfoundation.org