A new version of Environments was added to project The Inbox: http://source.squeak.org/inbox/Environments-jr.69.mcz
==================== Summary ====================
Name: Environments-jr.69 Author: jr Time: 22 January 2017, 1:58:32.760832 am UUID: bef4785f-f66c-1246-bae6-6a15be9aaf33 Ancestors: Environments-jr.68
prevent the removal of third-party imported bindings
Previously, when environment T imported from A and B, which both had a binding for #x, unbinding #x from either A or B would remove the binding from T. Now if the binding of #x is removed from A it will only be removed from T if T actually uses the binding from A, but not if T uses the binding from B.
It also prevents an environment A from unbinding something in an imported environment B when A imports itself and A and B both have a declaration with the same key.
=============== Diff against Environments-jr.68 ===============
Item was changed: ----- Method: Environment>>hideBinding: (in category 'binding') ----- hideBinding: aBinding + (bindings bindingOf: aBinding key) == aBinding ifFalse: [^ self]. self undeclare: aBinding key from: bindings!
This fix is still in the inbox
http://source.squeak.org/inbox/
and needs to be moved to
http://source.squeak.org/treated/
On Sun, 22 Jan 2017 00:58:42 0000, commits@source.squeak.org commits@source.squeak.org wrote:
A new version of Environments was added to project The Inbox: http://source.squeak.org/inbox/Environments-jr.69.mcz
==================== Summary ====================
Name: Environments-jr.69 Author: jr Time: 22 January 2017, 1:58:32.760832 am UUID: bef4785f-f66c-1246-bae6-6a15be9aaf33 Ancestors: Environments-jr.68
prevent the removal of third-party imported bindings
Previously, when environment T imported from A and B, which both had a binding for #x, unbinding #x from either A or B would remove the binding from T. Now if the binding of #x is removed from A it will only be removed from T if T actually uses the binding from A, but not if T uses the binding from B.
It also prevents an environment A from unbinding something in an imported environment B when A imports itself and A and B both have a declaration with the same key.
=============== Diff against Environments-jr.68 ===============
Item was changed: ----- Method: Environment>>hideBinding: (in category 'binding') ----- hideBinding: aBinding
- (bindings bindingOf: aBinding key) == aBinding ifFalse: [^ self]. self undeclare: aBinding key from: bindings!
squeak-dev@lists.squeakfoundation.org