The Trunk: Environments-jr.69.mcz

Previous Topic Next Topic
 
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view
|

The Trunk: Environments-jr.69.mcz

commits-2
Marcel Taeumel uploaded a new version of Environments to project The Trunk:
http://source.squeak.org/trunk/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!