[Pkg] The Trunk: Monticello-dtl.683.mcz

commits at source.squeak.org commits at source.squeak.org
Mon May 14 01:26:25 UTC 2018


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!



More information about the Packages mailing list