[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