# HG changeset patch # User Claus Gittinger # Date 844420917 -7200 # Node ID 89a242c66cda11aeec17c6d69b51ed2533cc43a9 # Parent cb962cb21e8ce6330e2997162ca8be9822546159 handle autoloaded debugger case diff -r cb962cb21e8c -r 89a242c66cda DebugView.st --- a/DebugView.st Tue Oct 01 16:46:51 1996 +0200 +++ b/DebugView.st Fri Oct 04 11:21:57 1996 +0200 @@ -106,13 +106,29 @@ This is the standard way of entering the debugger; sent from error- and halt messages." - |active| + |active found c| StepInterruptPending := nil. thisContext isRecursive ifTrue:[ - ('DEBUGGER: reentered with: ', aString) errorPrintNL. - ^ MiniDebugger enterWithMessage:'DEBUGGER: recursive error'. + "/ care for the special case, were the Debugger was autoloaded. + "/ in this case, thisContext IS recursive, but thats no error + "/ condition. + found := false. + c := thisContext sender. + [found not + and:[c notNil + and:[c selector ~~ #enter:withMessage:]]] whileTrue:[ + c selector == #noByteCode ifTrue:[ + found := true + ]. + c := c sender + ]. + + found ifFalse:[ + ('DEBUGGER: reentered with: ', aString) errorPrintNL. + ^ MiniDebugger enterWithMessage:'DEBUGGER: recursive error'. + ] ]. " @@ -137,7 +153,7 @@ ^ self enterUnconditional:aContext withMessage:aString - "Modified: 1.7.1996 / 12:26:18 / cg" + "Modified: 4.10.1996 / 10:21:20 / cg" ! enterUnconditional:aContext withMessage:aString @@ -2641,5 +2657,5 @@ !DebugView class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.99 1996-07-26 14:48:32 cg Exp $' + ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.100 1996-10-04 09:21:57 cg Exp $' ! !