David T. Lewis uploaded a new version of Monticello to project The Trunk:
http://source.squeak.org/trunk/Monticello-dtl.683.mcz==================== Summary ====================
Name: Monticello-dtl.683
Author: dtl
Time: 13 May 2018, 9:26:12.696956 pm
UUID: 03d28d79-4c73-496f-903d-324e4425c61f
Ancestors: Monticello-dtl.682
Revert last update, which was based on bad assumptions about how a proxy should behave (thanks Levente).
If a proxy doesn't want to forward a message, it can just implement the method. If you want direct access to the proxy object, you can use the mirror primitives.
=============== Diff against Monticello-dtl.682 ===============
Item was removed:
- ----- Method: MCPackageInEnvironment>>perform:with: (in category 'delegating') -----
- perform: aSymbol with: anObject
- "If aSymbol is #== then the sender is trying to perform an identity comparison.
- This cannot be delegated, because the delegate will be a different object.
- Implement perform:with: here to protect for this case. An important example
- is the case of PluggableDictionary, which relies on perform:with: to implement
- comparisons for an identity dictionary."
-
- aSymbol == #==
- ifTrue: [ ^self privatePerform: aSymbol with: anObject ]
- ifFalse: [ ^package perform: aSymbol with: anObject "as per doesNotUnderStand:" ]
- !
Item was removed:
- ----- Method: MCPackageInEnvironment>>privatePerform:with: (in category 'delegating') -----
- privatePerform: aSymbol with: anObject
- "aSymbol is #== and the sender is trying to perform an identity comparison.
- Invoke primitivePerform."
-
- <primitive: 83>
- ^ self primitiveFailed!