Marcel Taeumel uploaded a new version of Kernel to project The Trunk:
http://source.squeak.org/trunk/Kernel-mt.1235.mcz==================== Summary ====================
Name: Kernel-mt.1235
Author: mt
Time: 21 May 2019, 10:48:13.016822 am
UUID: 2ca86cdb-5328-3a44-aac6-346c8d44d2ca
Ancestors: Kernel-nice.1234
Replace the few sends to #valueWithPossibleArgument: with #cull: because there is no need to expect blocks with more than one argument to be filled with nils.
=============== Diff against Kernel-nice.1234 ===============
Item was changed:
----- Method: Object>>haltIf: (in category 'debugging') -----
haltIf: condition
"This is the typical message to use for inserting breakpoints during
debugging. Param can be a block or expression, halt if true.
If the Block has one arg, the receiver is bound to that.
If the condition is a selector, we look up in the callchain. Halt if
any method's selector equals selector."
| cntxt |
condition isSymbol ifTrue:[
"only halt if a method with selector symbol is in callchain"
cntxt := thisContext.
[cntxt sender isNil] whileFalse: [
cntxt := cntxt sender.
(cntxt selector = condition) ifTrue: [Halt signal].
].
^self.
].
(condition isBlock
+ ifTrue: [condition cull: self]
- ifTrue: [condition valueWithPossibleArgument: self]
ifFalse: [condition]
) ifTrue: [
Halt signal
].!
Item was changed:
----- Method: ObjectViewer>>doesNotUnderstand: (in category 'very few messages') -----
doesNotUnderstand: aMessage
"Check for change after sending aMessage"
| returnValue newValue |
recursionFlag ifTrue: [^ aMessage sendTo: tracedObject].
recursionFlag := true.
returnValue := aMessage sendTo: tracedObject.
+ newValue := valueBlock cull: aMessage.
- newValue := valueBlock valueWithPossibleArgument: aMessage.
newValue = lastValue ifFalse:
+ [changeBlock cull: aMessage.
- [changeBlock valueWithPossibleArgument: aMessage..
lastValue := newValue].
recursionFlag := false.
^ returnValue!