extract selector from selection (as in browser)
for implementorsOf and sendersOf dialog.
--- a/DebugView.st Mon Feb 07 12:34:49 2000 +0100
+++ b/DebugView.st Mon Feb 07 12:43:32 2000 +0100
@@ -1255,7 +1255,7 @@
"Modified: 4.3.1997 / 01:54:03 / cg"
! !
-!DebugView methodsFor:'initialize / release'!
+!DebugView methodsFor:'initialization & release'!
addToCurrentProject
"ignored here"
@@ -1881,13 +1881,15 @@
"/ do:-loop would be very difficult.
(where receiver isBlock
- and:[where receiver home == steppedContext])
+ and:[(where receiver isKindOf:Block)
+ and:[where receiver home == steppedContext]])
ifTrue:[
anyStepBlocks := true.
] ifFalse:[
where args do:[:arg |
(arg isBlock
- and:[arg home == steppedContext])
+ and:[(arg isKindOf:Block)
+ and:[arg home == steppedContext]])
ifTrue:[
anyStepBlocks := true.
]
@@ -2168,7 +2170,7 @@
con := nil
"Created: / 14.10.1996 / 12:53:39 / cg"
- "Modified: / 6.9.1998 / 21:42:28 / cg"
+ "Modified: / 4.2.2000 / 20:21:11 / cg"
! !
!DebugView methodsFor:'menu / button actions'!
@@ -2289,18 +2291,24 @@
browseImplementorsOf
"open a browser on the implementors of some selector"
- |initial selector|
-
- initial := codeView selection
- ifNil:[selectedContext isNil
+ |initial selector sel|
+
+ (sel := codeView selection) notNil ifTrue:[
+ initial := BrowserView extractSelectorFrom:sel
+ ].
+ initial isNil ifTrue:[
+ initial := selectedContext isNil
ifTrue:[nil]
- ifFalse:[selectedContext selector]].
+ ifFalse:[selectedContext selector].
+ ].
selector := Dialog
request:'Selector to browse implementors of:'
initialAnswer:initial.
selector size == 0 ifFalse:[
SystemBrowser browseImplementorsOf:selector asSymbol.
]
+
+ "Modified: / 6.2.2000 / 01:05:14 / cg"
!
browseSenders
@@ -2315,18 +2323,24 @@
browseSendersOf
"open a browser on the senders of some selector"
- |initial selector|
-
- initial := codeView selection
- ifNil:[selectedContext isNil
+ |initial selector sel|
+
+ (sel := codeView selection) notNil ifTrue:[
+ initial := BrowserView extractSelectorFrom:sel
+ ].
+ initial isNil ifTrue:[
+ initial := selectedContext isNil
ifTrue:[nil]
- ifFalse:[selectedContext selector]].
+ ifFalse:[selectedContext selector].
+ ].
selector := Dialog
request:'Selector to browse senders of:'
initialAnswer:initial.
selector size == 0 ifFalse:[
SystemBrowser browseAllCallsOn:selector asSymbol.
]
+
+ "Modified: / 6.2.2000 / 01:05:29 / cg"
!
copyWalkbackText
@@ -3618,7 +3632,7 @@
active group.
"
SignalSet anySignal handle:[:ex |
- |answer signal|
+ |answer signal eMsg|
signal := ex signal.
@@ -3683,8 +3697,14 @@
self topView raiseDeiconified.
+ eMsg := ex errorString.
+ (ex signal == MessageTracer breakpointSignal
+ or:[ex signal == Object haltSignal]) ifTrue:[
+ eMsg := eMsg , Character cr asString , 'in ' , ex suspendedContext printString
+ ].
+
answer := Dialog
- choose:('error in debugger:\' withCRs , ex errorString , '\\debug again ?' withCRs)
+ choose:('error in debugger:\' withCRs , eMsg , '\\debug again ?' withCRs)
labels:#( 'proceed' 'cancel' 'debug' )
values:#( #proceed #cancel #debug )
default:#cancel.
@@ -3692,7 +3712,7 @@
'DebugView [info]: cought exception - debugging' infoPrintCR.
Debugger
enterUnconditional:(ex suspendedContext)
- withMessage:'error in debugger: ' , ex errorString
+ withMessage:'error in debugger: ' , eMsg
mayProceed:true.
ex proceed.
].
@@ -3715,7 +3735,7 @@
catchBlock := nil.
"Created: / 24.11.1995 / 20:33:45 / cg"
- "Modified: / 31.5.1999 / 15:19:45 / cg"
+ "Modified: / 6.2.2000 / 15:14:07 / cg"
! !
!DebugView methodsFor:'user interaction'!
@@ -4239,6 +4259,6 @@
!DebugView class methodsFor:'documentation'!
version
- ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.258 2000-02-02 22:36:18 cg Exp $'
+ ^ '$Header: /cvs/stx/stx/libtool/DebugView.st,v 1.259 2000-02-07 11:43:32 cg Exp $'
! !
DebugView initialize!