Eliot Miranda uploaded a new version of Tools to project The Trunk: http://source.squeak.org/trunk/Tools-eem.1060.mcz
==================== Summary ====================
Name: Tools-eem.1060 Author: eem Time: 1 July 2021, 2:40:56.604268 pm UUID: 812128d2-6043-4a23-b5ad-307b59d7063a Ancestors: Tools-eem.1059
Use a much more straight-0forward and accurate way to determine if the debugger is at an initial break in toggle break on entry. Also remember to test the result of the determination ;-)
=============== Diff against Tools-eem.1059 ===============
Item was changed: ----- Method: Debugger>>toggleBreakOnEntry (in category 'breakpoints') ----- toggleBreakOnEntry "Override to rset to the new breakless method if stopped at a break point. N.B. does not (yet) do the reverse." + | ctxt prevPC atInitialBreak newMethod | - | ctxt prevPC bytecodeMessage atInitialBreak newMethod | ((ctxt := self selectedContext) isNil or: [(prevPC := ctxt previousPc) isNil]) ifTrue: [^super toggleBreakOnEntry].
+ atInitialBreak := ctxt selectorJustSentOrSelf == #break + and: [(ctxt method pcPreviousTo: ctxt previousPc) = ctxt method initialPC]. - bytecodeMessage := ctxt method abstractBytecodeMessageAt: ctxt previousPc. - atInitialBreak := bytecodeMessage selector = #send:super:numArgs: - and: [bytecodeMessage arguments = #(break false 0)]. super toggleBreakOnEntry. + newMethod := ctxt method methodReference compiledMethod. + (atInitialBreak + and: [newMethod isCompiledCode + and: [newMethod ~~ ctxt method]]) ifTrue: - ((newMethod := ctxt method methodReference compiledMethod) notNil - and: [newMethod ~~ ctxt method]) ifTrue: [ctxt privRefreshWith: newMethod. self resetContext: ctxt. self debug]!
packages@lists.squeakfoundation.org