Object.st
changeset 6323 9dbabd4270d3
parent 6321 8af99331b6e8
child 6328 49317c043e04
--- a/Object.st	Fri Dec 14 11:54:51 2001 +0100
+++ b/Object.st	Sun Dec 16 19:37:11 2001 +0100
@@ -332,6 +332,7 @@
     "Modified: / 4.8.1999 / 08:54:06 / stefan"
 ! !
 
+
 !Object class methodsFor:'Compatibility - ST80'!
 
 rootError
@@ -572,6 +573,7 @@
     "Modified: 23.4.1996 / 16:00:07 / cg"
 ! !
 
+
 !Object methodsFor:'Compatibility - ST80'!
 
 isMetaclass
@@ -1517,14 +1519,14 @@
 
 !Object methodsFor:'attributes access'!
 
-objectAttributeAt:key 
+objectAttributeAt:attributeKey 
     "return the attribute for a given key or nil if not found"
 
     | attrs |
 
     attrs := self objectAttributes.
     (attrs notNil and:[attrs size > 0]) ifTrue:[
-        ^ attrs at:key ifAbsent:[]
+        ^ attrs at:attributeKey ifAbsent:[]
     ].
     ^ nil
 
@@ -1532,31 +1534,23 @@
     "Modified: / 3.2.1998 / 18:55:55 / cg"
 !
 
-objectAttributeAt:key put:anObject
+objectAttributeAt:attributeKey put:anObject
     "store the attribute anObject referenced by key into the receiver"
 
-    |wasBlocked|
-
     "/ must do this save from interrupts, since the attributes collection
     "/ is possibly accessed from multiple threads ...
-
-    wasBlocked := OperatingSystem blockInterrupts.
     [
         | attrs |
 
         attrs := self objectAttributes.
         (attrs isNil or:[attrs size == 0]) ifTrue:[
             attrs := WeakIdentityDictionary new.
-            attrs at:key put:anObject.
+            attrs at:attributeKey put:anObject.
             self objectAttributes:attrs.
         ] ifFalse:[ 
-            attrs at:key put:anObject.
+            attrs at:attributeKey put:anObject.
         ].
-    ] valueNowOrOnUnwindDo:[
-        wasBlocked ifFalse:[
-            OperatingSystem unblockInterrupts
-        ]
-    ]
+    ] valueUninterruptably
 
     "Attaching additional attributes (slots) to an arbitrary object:
 
@@ -1620,15 +1614,11 @@
     "Modified: / 3.2.1998 / 18:58:10 / cg"
 !
 
-removeObjectAttribute:anObject
+removeObjectAttribute:attributeKey
     "make the argument, anObject be no attribute of the receiver"
 
-    |wasBlocked|
-
     "/ must do this save from interrupts, since the attributes collection
     "/ is possibly accessed from multiple threads.
-
-    wasBlocked := OperatingSystem blockInterrupts.
     [
         |attrs n a|
 
@@ -1636,16 +1626,12 @@
         attrs size == 0 ifTrue:[
             self objectAttributes:nil
         ] ifFalse:[
-            attrs removeKey:anObject ifAbsent:nil.
+            attrs removeKey:attributeKey ifAbsent:nil.
             attrs size == 0 ifTrue:[
                 self objectAttributes:nil
             ]
         ]
-    ] valueNowOrOnUnwindDo:[
-        wasBlocked ifFalse:[
-            OperatingSystem unblockInterrupts
-        ]
-    ]
+    ] valueUninterruptably
 
     "Created: / 22.1.1998 / 21:29:39 / av"
     "Modified: / 18.2.2000 / 11:32:19 / cg"
@@ -8669,6 +8655,6 @@
 !Object class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.389 2001-12-14 10:52:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Object.st,v 1.390 2001-12-16 18:37:11 cg Exp $'
 ! !
 Object initialize!