[squeak-dev] The Trunk: Kernel-ct.1481.mcz
commits at source.squeak.org
commits at source.squeak.org
Sun Jun 12 19:31:46 UTC 2022
Christoph Thiede uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-ct.1481.mcz
==================== Summary ====================
Name: Kernel-ct.1481
Author: ct
Time: 12 June 2022, 5:27:48.147094 pm
UUID: 4fd2a361-2b3b-474c-9b86-3a899e25a8e0
Ancestors: Kernel-ct.1480
Revises Exception>>signal to copy all exception-specific state when resignaling an already signaled exception.
Thanks to Jaromir (jar)!
See: https://lists.squeakfoundation.org/pipermail/squeak-dev/2022-June/220989.html
=============== Diff against Kernel-ct.1480 ===============
Item was added:
+ ----- Method: Exception>>refreshContexts (in category 'copying') -----
+ refreshContexts
+
+ signalContext := handlerContext := outerContext := nil.
+ !
Item was changed:
----- Method: Exception>>signal (in category 'signaling') -----
signal
+ "Ask handler contexts in the sender chain to handle this signal. The default is to evaluate my defaultAction and return the result.
+ Sending #signal to an already signaled exception generates a fresh copy of the receiver."
+
+ signalContext ifNotNil: [^self copy refreshContexts signal].
- "Ask ContextHandlers in the sender chain to handle this signal. The default is to execute and return my defaultAction.
- Sending #signal to an already signaled exception generates a new exception of the same type with the same messageText"
-
- signalContext ifNotNil: [^self class signal: messageText].
signalContext := thisContext contextTag.
^(thisContext nextHandlerContextForSignal: self) handleSignal: self!
More information about the Squeak-dev
mailing list
|