Interestingly enough, the same question was answered in an Iliad thread...

A method that does what you want is present in Seaside:

Signal extend [
    resumeContext [
        ^resumeBlock outerContext home
    ]
]

then you can do

[Notification signal]
   on: Notification
   do: [:ex | ex resumeContext backtrace]

Actually a nicer backtrace can be obtained with

Signal extend [
    resumeContext [
        | context |
        context := resumeBlock outerContext home.
        [context isInternalExceptionHandlingContext]
            whileTrue: [context := context parentContext].
        ^context
    ]
]

I'm adding this to the standard library, though under the name #signalingContext.

Paolo


_______________________________________________
help-smalltalk mailing list
[email protected]
http://lists.gnu.org/mailman/listinfo/help-smalltalk

Reply via email to