Object.st
branchjv
changeset 20079 8d884971c2ed
parent 19863 513bd7237fe7
parent 20027 5be764ee44fb
child 20080 093324d7a47c
--- a/Object.st	Thu Jun 30 21:11:02 2016 +0100
+++ b/Object.st	Thu Jun 30 21:12:35 2016 +0100
@@ -1,3 +1,5 @@
+"{ Encoding: utf8 }"
+
 "
  COPYRIGHT (c) 1988 by Claus Gittinger
               All Rights Reserved
@@ -14,21 +16,21 @@
 "{ NameSpace: Smalltalk }"
 
 nil subclass:#Object
-        instanceVariableNames:''
-        classVariableNames:'AbortAllSignal AbortSignal ActivityNotificationSignal
-                DebuggerHooks DeepCopyErrorSignal Dependencies
-                ElementOutOfBoundsSignal EnabledBreakPoints ErrorRecursion
-                ErrorSignal FinalizationLobby HaltSignal IndexNotFoundSignal
-                InfoPrinting InformationSignal InternalErrorSignal
-                KeyNotFoundSignal MessageNotUnderstoodSignal
-                NonIntegerIndexSignal NonWeakDependencies NotFoundSignal
-                OSSignalInterruptSignal ObjectAttributes
-                ObjectAttributesAccessLock PrimitiveFailureSignal
-                RecursionInterruptSignal RecursiveStoreStringSignal
-                SubscriptOutOfBoundsSignal SynchronizationSemaphores
-                UserInterruptSignal UserNotificationSignal WarningSignal'
-        poolDictionaries:''
-        category:'Kernel-Objects'
+	instanceVariableNames:''
+	classVariableNames:'AbortAllSignal AbortSignal ActivityNotificationSignal
+		DebuggerHooks DeepCopyErrorSignal Dependencies
+		ElementOutOfBoundsSignal EnabledBreakPoints ErrorRecursion
+		ErrorSignal FinalizationLobby HaltSignal IndexNotFoundSignal
+		InfoPrinting InformationSignal InternalErrorSignal
+		KeyNotFoundSignal MessageNotUnderstoodSignal
+		NonIntegerIndexSignal NonWeakDependencies NotFoundSignal
+		OSSignalInterruptSignal ObjectAttributes
+		ObjectAttributesAccessLock PrimitiveFailureSignal
+		RecursionInterruptSignal RecursiveStoreStringSignal
+		SubscriptOutOfBoundsSignal SynchronizationSemaphores
+		UserInterruptSignal UserNotificationSignal WarningSignal'
+	poolDictionaries:''
+	category:'Kernel-Objects'
 !
 
 !Object class methodsFor:'documentation'!
@@ -256,6 +258,7 @@
     "Modified: / 4.8.1999 / 08:54:06 / stefan"
 ! !
 
+
 !Object class methodsFor:'Compatibility-ST80'!
 
 rootError
@@ -494,6 +497,7 @@
     InfoPrinting := aBoolean
 ! !
 
+
 !Object class methodsFor:'queries'!
 
 isAbstract
@@ -516,6 +520,8 @@
 ! !
 
 
+
+
 !Object methodsFor:'Compatibility-Dolphin'!
 
 stbFixup: anSTBInFiler at: newObjectIndex
@@ -691,6 +697,8 @@
     "
 ! !
 
+
+
 !Object methodsFor:'accessing'!
 
 _at:index
@@ -2051,6 +2059,7 @@
     ^ aBlock ensure:[ self addDependent:someone ]
 ! !
 
+
 !Object methodsFor:'comparing'!
 
 = anObject
@@ -5492,10 +5501,10 @@
      This is typically sent by the VM, when a ctrl-C is typed at the
      controlling tty (i.e. in the xterm)."
 
-    UserInterruptSignal raiseRequest
-!
-
-userInterruptIn:aContext
+    UserInterrupt raiseRequest
+!
+
+userInterruptIn:aContext from:originator
     "{ Pragma: +optSpace }"
 
     "user (^c) interrupt - enter debugger, but show aContext
@@ -5503,11 +5512,13 @@
      This is used to hide any intermediate scheduler contexts,
      in case of an interrupted process. Typically, this is sent by
      the WindowGroup, when a keyboardEvent for the ctrl-C key is
-     processed."
+     processed.
+     Set the originator to distinguish UserInterrupts from controlling tty vs. 
+     UserInterrupt from a view."
 
     <context: #return>
 
-    UserInterruptSignal raiseRequestWith:nil errorString:nil in:aContext
+    UserInterrupt raiseRequestWith:originator errorString:nil in:aContext
 
     "Created: / 18.10.1996 / 20:46:04 / cg"
     "Modified: / 20.10.1996 / 13:06:38 / cg"
@@ -7990,6 +8001,7 @@
     ^ self
 ! !
 
+
 !Object methodsFor:'secure message sending'!
 
 ?:selector
@@ -8595,6 +8607,7 @@
     "
 ! !
 
+
 !Object methodsFor:'synchronized evaluation'!
 
 freeSynchronizationSemaphore
@@ -10359,6 +10372,8 @@
     ^ aVisitor visitObject:self with:aParameter
 ! !
 
+
+
 !Object class methodsFor:'documentation'!
 
 version