diff options
| author | Jens Mönig <jens@moenig.org> | 2015-03-23 12:44:46 +0100 |
|---|---|---|
| committer | Jens Mönig <jens@moenig.org> | 2015-03-23 12:44:46 +0100 |
| commit | af9b3dec293c45ac4b109f4ef3c21ba2f5bc55c3 (patch) | |
| tree | 4fbdc970ba7fd2f9ba43b83cc7b8ffce4e8bea27 /threads.js | |
| parent | 4acf1896bd9fa57d3dbe3f4721b6790c6f3b0d56 (diff) | |
| download | snap-af9b3dec293c45ac4b109f4ef3c21ba2f5bc55c3.tar.gz snap-af9b3dec293c45ac4b109f4ef3c21ba2f5bc55c3.zip | |
OOP: Tweaks for scope conflicts when adding / removing vars
Diffstat (limited to 'threads.js')
| -rw-r--r-- | threads.js | 9 |
1 files changed, 6 insertions, 3 deletions
@@ -83,7 +83,7 @@ ArgLabelMorph, localize, XML_Element, hex_sha512*/ // Global stuff //////////////////////////////////////////////////////// -modules.threads = '2015-March-21'; +modules.threads = '2015-March-23'; var ThreadManager; var Process; @@ -1299,14 +1299,17 @@ Process.prototype.doRemoveTemporaries = function () { Process.prototype.doDeleteAttr = function (attrName) { // currently only variables are deletable - var name = attrName; + var name = attrName, + rcvr = this.blockReceiver(); if (name instanceof Context) { if (name.expression.selector === 'reportGetVar') { name = name.expression.blockSpec; } } - this.blockReceiver().deleteVariable(name); + if (contains(rcvr.inheritedVariableNames(true), name)) { + rcvr.deleteVariable(name); + } }; // Process lists primitives |
