initial implementation of selector namespaces jv
authorJan Vrany <jan.vrany@fit.cvut.cz>
Thu, 20 May 2010 14:35:23 +0100
branchjv
changeset 17766 0acf634e6550
parent 17765 e3ee4a675abc
child 17767 a4a32df3aa5e
initial implementation of selector namespaces
Annotation.st
Behavior.st
CmdLineOption.st
CmdLineOptionError.st
CmdLineParser.st
GNOMEDesktop.st
Make.proto
Make.spec
Method.st
NameSpace.st
NamespaceAwareLookup.st
OSProcess.st
ProgrammingLanguage.st
SelectorNamespacesTest.st
SmalltalkDesktop.st
WindowsDesktop.st
abbrev.stc
bc.mak
libInit.cc
libbasic.rc
stx_libbasic.st
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/Annotation.st	Thu May 20 14:35:23 2010 +0100
@@ -0,0 +1,213 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libbasic' }"
+
+Object subclass:#Annotation
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Kernel-Extensions'
+!
+
+Annotation subclass:#NameSpace
+	instanceVariableNames:'nameSpace'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Annotation
+!
+
+Annotation subclass:#Unknown
+	instanceVariableNames:'key arguments'
+	classVariableNames:''
+	poolDictionaries:''
+	privateIn:Annotation
+!
+
+!Annotation class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!Annotation class methodsFor:'instance creation'!
+
+key: key arguments: arguments 
+    ^ Annotation::Unknown new key: key arguments: arguments
+
+    "Created: / 19-05-2010 / 16:47:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+namespace: aString
+
+    ^Annotation::NameSpace new nameSpaceName: aString
+
+    "Created: / 19-05-2010 / 16:01:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation methodsFor:'accessing'!
+
+key
+
+    ^#namespace:
+
+    "Created: / 19-05-2010 / 16:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation methodsFor:'printing & storing'!
+
+printOn:aStream
+    "append a printed representation if the receiver to the argument, aStream"
+
+    self storeOn:aStream.
+
+    "Modified: / 19-05-2010 / 16:25:26 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+storeOn:aStream
+
+    self subclassResponsibility
+
+    "Created: / 19-05-2010 / 16:26:02 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation methodsFor:'processing'!
+
+annotatesClass: aClass
+
+    ^self subclassResponsibility
+
+    "Created: / 20-05-2010 / 11:15:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+annotatesMethod: aMethod
+
+    ^self subclassResponsibility
+
+    "Created: / 20-05-2010 / 11:15:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::NameSpace methodsFor:'accessing'!
+
+key
+
+    ^#namespace:
+
+    "Created: / 19-05-2010 / 16:23:13 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameSpace
+    ^ nameSpace
+!
+
+nameSpace:something
+    nameSpace := something.
+! !
+
+!Annotation::NameSpace methodsFor:'initialization'!
+
+nameSpaceName: aString
+
+    self nameSpace: (NameSpace name: aString)
+
+    "Created: / 19-05-2010 / 16:02:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::NameSpace methodsFor:'printing & storing'!
+
+storeOn:aStream
+    "superclass Annotation says that I am responsible to implement this method"
+
+    aStream nextPutAll: '(Annotation namespace: '.
+    nameSpace name storeOn: aStream.
+    aStream nextPut:$)
+
+    "Modified: / 19-05-2010 / 16:27:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::NameSpace methodsFor:'processing'!
+
+annotatesClass:aClass
+
+    "Nothing to do"
+
+    "Modified: / 20-05-2010 / 11:16:03 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+annotatesMethod:aMethod
+
+    aMethod lookupObject: NamespaceAwareLookup instance
+
+    "Modified: / 20-05-2010 / 11:18:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::Unknown methodsFor:'accessing'!
+
+arguments
+    ^ arguments
+!
+
+key
+    ^ key
+! !
+
+!Annotation::Unknown methodsFor:'initialization'!
+
+key:keyArg arguments:argumentsArg 
+    key := keyArg.
+    arguments := argumentsArg.
+! !
+
+!Annotation::Unknown methodsFor:'printing & storing'!
+
+storeOn:aStream
+    "superclass Annotation says that I am responsible to implement this method"
+
+    aStream nextPutAll: '(Annotation key: '.
+    key storeOn: aStream.
+    aStream nextPutAll: ' arguments: '.
+    arguments storeOn: aStream.
+    aStream nextPut: $).
+
+    "Modified: / 19-05-2010 / 16:46:05 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation::Unknown methodsFor:'processing'!
+
+annotatesClass:aClass
+
+    "Nothing to do"
+
+    "Modified: / 20-05-2010 / 11:15:44 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+annotatesMethod:aMethod
+
+    "Nothing to do"
+
+    "Modified: / 20-05-2010 / 11:15:51 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!Annotation class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id: Annotation.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+! !
--- a/Behavior.st	Tue May 18 14:31:21 2010 +0100
+++ b/Behavior.st	Thu May 20 14:35:23 2010 +0100
@@ -1361,7 +1361,6 @@
     ^ superclass
 ! !
 
-
 !Behavior methodsFor:'autoload check'!
 
 autoload
@@ -2823,8 +2822,7 @@
                     ["Easy: same namespace..."
                     newDict := oldDict at:aSelector putOrAppend:newMethod]
                 ifFalse:
-                    ["Tricky: namespaces are different, so install both 
-                      methods and NamespacingLookup"
+                    ["Tricky: namespaces are different, so install both methods"
                     "Now, if new method is in default (no) namespace, install
                      it as first"
                     (newMethod nameSpace isNil and:[oldMethod nameSpace notNil])
@@ -2849,7 +2847,7 @@
 
     "Modified: / 07-06-1996 / 14:48:45 / stefan"
     "Modified: / 31-08-2007 / 16:53:20 / cg"
-    "Modified: / 27-04-2010 / 12:32:14 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 19-05-2010 / 14:34:24 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 setMethodDictionary:dict
@@ -4691,7 +4689,7 @@
 !Behavior class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Behavior.st 10520 2010-05-04 11:50:05Z vranyj1 $'
+    ^ '$Id: Behavior.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 !
 
 version_CVS
@@ -4699,6 +4697,5 @@
 !
 
 version_SVN
-    ^ '$Id: Behavior.st 10520 2010-05-04 11:50:05Z vranyj1 $'
+    ^ '$Id: Behavior.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
-
--- a/CmdLineOption.st	Tue May 18 14:31:21 2010 +0100
+++ b/CmdLineOption.st	Thu May 20 14:35:23 2010 +0100
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libbasic' }"
 
 Object subclass:#CmdLineOption
@@ -7,6 +18,21 @@
 	category:'System-Support-Command line'
 !
 
+!CmdLineOption class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !CmdLineOption methodsFor:'accessing'!
 
@@ -102,5 +128,9 @@
 !CmdLineOption class methodsFor:'documentation'!
 
 version
-    ^'$Id: CmdLineOption.st 10452 2009-06-17 11:47:57Z vranyj1 $'
+    ^'$Id: CmdLineOption.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+!
+
+version_SVN
+    ^ '$Id: CmdLineOption.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
--- a/CmdLineOptionError.st	Tue May 18 14:31:21 2010 +0100
+++ b/CmdLineOptionError.st	Thu May 20 14:35:23 2010 +0100
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libbasic' }"
 
 Error subclass:#CmdLineOptionError
@@ -7,9 +18,28 @@
 	category:'System-Support-Command line'
 !
 
+!CmdLineOptionError class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !CmdLineOptionError class methodsFor:'documentation'!
 
 version
-    ^'$Id: CmdLineOptionError.st 10452 2009-06-17 11:47:57Z vranyj1 $'
+    ^'$Id: CmdLineOptionError.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+!
+
+version_SVN
+    ^ '$Id: CmdLineOptionError.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
--- a/CmdLineParser.st	Tue May 18 14:31:21 2010 +0100
+++ b/CmdLineParser.st	Thu May 20 14:35:23 2010 +0100
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libbasic' }"
 
 Object subclass:#CmdLineParser
@@ -7,6 +18,21 @@
 	category:'System-Support-Command line'
 !
 
+!CmdLineParser class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !CmdLineParser class methodsFor:'parsing'!
 
@@ -250,5 +276,9 @@
 !CmdLineParser class methodsFor:'documentation'!
 
 version
-    ^'$Id: CmdLineParser.st 10452 2009-06-17 11:47:57Z vranyj1 $'
+    ^'$Id: CmdLineParser.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+!
+
+version_SVN
+    ^ '$Id: CmdLineParser.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
--- a/GNOMEDesktop.st	Tue May 18 14:31:21 2010 +0100
+++ b/GNOMEDesktop.st	Thu May 20 14:35:23 2010 +0100
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libbasic' }"
 
 XDGDesktop subclass:#GNOMEDesktop
@@ -7,6 +18,21 @@
 	category:'System-Desktop'
 !
 
+!GNOMEDesktop class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !GNOMEDesktop class methodsFor:'accessing'!
 
@@ -28,5 +54,9 @@
 !GNOMEDesktop class methodsFor:'documentation'!
 
 version
-    ^'$Id: GNOMEDesktop.st 10461 2009-08-12 13:49:00Z vranyj1 $'
+    ^'$Id: GNOMEDesktop.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+!
+
+version_SVN
+    ^ '$Id: GNOMEDesktop.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
--- a/Make.proto	Tue May 18 14:31:21 2010 +0100
+++ b/Make.proto	Thu May 20 14:35:23 2010 +0100
@@ -105,6 +105,7 @@
 $(OUTDIR)ProtoObject.$(O) ProtoObject.$(H): ProtoObject.st $(STCHDR)
 $(OUTDIR)AbstractOperatingSystem.$(O) AbstractOperatingSystem.$(H): AbstractOperatingSystem.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)AbstractSourceFileReader.$(O) AbstractSourceFileReader.$(H): AbstractSourceFileReader.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)Annotation.$(O) Annotation.$(H): Annotation.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)Behavior.$(O) Behavior.$(H): Behavior.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)Boolean.$(O) Boolean.$(H): Boolean.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)CharacterEncoder.$(O) CharacterEncoder.$(H): CharacterEncoder.st $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -178,6 +179,7 @@
 $(OUTDIR)LibraryDefinition.$(O) LibraryDefinition.$(H): LibraryDefinition.st $(INCLUDE_TOP)/stx/libbasic/ProjectDefinition.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)LookupKey.$(O) LookupKey.$(H): LookupKey.st $(INCLUDE_TOP)/stx/libbasic/Magnitude.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)MessageSend.$(O) MessageSend.$(H): MessageSend.st $(INCLUDE_TOP)/stx/libbasic/Message.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
+$(OUTDIR)NamespaceAwareLookup.$(O) NamespaceAwareLookup.$(H): NamespaceAwareLookup.st $(INCLUDE_TOP)/stx/libbasic/Lookup.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)NoHandlerError.$(O) NoHandlerError.$(H): NoHandlerError.st $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)Notification.$(O) Notification.$(H): Notification.st $(INCLUDE_TOP)/stx/libbasic/GenericException.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)OSHandle.$(O) OSHandle.$(H): OSHandle.st $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
@@ -379,20 +381,9 @@
 $(OUTDIR)Symbol.$(O) Symbol.$(H): Symbol.st $(INCLUDE_TOP)/stx/libbasic/String.$(H) $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)Unicode16String.$(O) Unicode16String.$(H): Unicode16String.st $(INCLUDE_TOP)/stx/libbasic/TwoByteString.$(H) $(INCLUDE_TOP)/stx/libbasic/CharacterArray.$(H) $(INCLUDE_TOP)/stx/libbasic/ByteArray.$(H) $(INCLUDE_TOP)/stx/libbasic/UninterpretedBytes.$(H) $(INCLUDE_TOP)/stx/libbasic/ArrayedCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/SequenceableCollection.$(H) $(INCLUDE_TOP)/stx/libbasic/Collection.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)CmdLineParserTest.$(O) CmdLineParserTest.$(H): CmdLineParserTest.st $(STCHDR)
-$(OUTDIR)AbstractDesktop.$(O) AbstractDesktop.$(H): AbstractDesktop.st $(STCHDR)
-$(OUTDIR)CmdLineOption.$(O) CmdLineOption.$(H): CmdLineOption.st $(STCHDR)
-$(OUTDIR)CmdLineParser.$(O) CmdLineParser.$(H): CmdLineParser.st $(STCHDR)
-$(OUTDIR)SmalltalkDesktop.$(O) SmalltalkDesktop.$(H): SmalltalkDesktop.st $(STCHDR)
-$(OUTDIR)UnixDesktop.$(O) UnixDesktop.$(H): UnixDesktop.st $(STCHDR)
-$(OUTDIR)WindowsDesktop.$(O) WindowsDesktop.$(H): WindowsDesktop.st $(STCHDR)
-$(OUTDIR)XDGDesktop.$(O) XDGDesktop.$(H): XDGDesktop.st $(STCHDR)
-$(OUTDIR)CmdLineOptionError.$(O) CmdLineOptionError.$(H): CmdLineOptionError.st $(STCHDR)
-$(OUTDIR)GNOMEDesktop.$(O) GNOMEDesktop.$(H): GNOMEDesktop.st $(STCHDR)
-$(OUTDIR)SandboxedMethod.$(O) SandboxedMethod.$(H): SandboxedMethod.st $(STCHDR)
 $(OUTDIR)UnixFileDescriptorHandle.$(O) UnixFileDescriptorHandle.$(H): UnixFileDescriptorHandle.st $(INCLUDE_TOP)/stx/libbasic/OSFileHandle.$(H) $(INCLUDE_TOP)/stx/libbasic/OSHandle.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)UnixFileHandle.$(O) UnixFileHandle.$(H): UnixFileHandle.st $(INCLUDE_TOP)/stx/libbasic/OSFileHandle.$(H) $(INCLUDE_TOP)/stx/libbasic/OSHandle.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(STCHDR)
 $(OUTDIR)UnixOperatingSystem.$(O) UnixOperatingSystem.$(H): UnixOperatingSystem.st $(INCLUDE_TOP)/stx/libbasic/AbstractOperatingSystem.$(H) $(INCLUDE_TOP)/stx/libbasic/Object.$(H) $(INCLUDE_TOP)/stx/libbasic/OSFileHandle.$(H) $(INCLUDE_TOP)/stx/libbasic/OSHandle.$(H) $(INCLUDE_TOP)/stx/libbasic/ExternalAddress.$(H) $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
 
-
--- a/Make.spec	Tue May 18 14:31:21 2010 +0100
+++ b/Make.spec	Thu May 20 14:35:23 2010 +0100
@@ -1,4 +1,4 @@
-# $Header: /cvs/stx/stx/libbasic/Make.spec,v 1.107 2010/04/27 08:10:27 stefan Exp $
+# $Header$
 #
 # DO NOT EDIT 
 # automagically generated from the projectDefinition: stx_libbasic.
@@ -58,7 +58,6 @@
 	Autoload \
 	Object \
 	ProtoObject \
-	AbstractDesktop \
 	AbstractOperatingSystem \
 	AbstractSourceFileReader \
 	Behavior \
@@ -66,8 +65,6 @@
 	CharacterEncoder \
 	ClassBuilder \
 	ClassCategoryReader \
-	CmdLineOption \
-	CmdLineParser \
 	Collection \
 	Context \
 	Continuation \
@@ -140,14 +137,11 @@
 	SequenceableCollection \
 	Set \
 	SmalltalkChunkFileSourceReader \
-	SmalltalkDesktop \
 	SmalltalkLanguage \
 	True \
-	UnixDesktop \
 	UnixFilename \
 	UserNotification \
 	WeakInterestConverter \
-	WindowsDesktop \
 	ActivityNotification \
 	ArrayedCollection \
 	Association \
@@ -191,7 +185,6 @@
 	UserInformation \
 	UserInterrupt \
 	Warning \
-	XDGDesktop \
 	YesToAllConfirmation \
 	stx_libbasic \
 	AbortAllOperationRequest \
@@ -200,13 +193,11 @@
 	BreakPointInterrupt \
 	CheapBlock \
 	Class \
-	CmdLineOptionError \
 	ClassBuildError \
 	DoubleArray \
 	ElementBoundsError \
 	FloatArray \
 	Fraction \
-	GNOMEDesktop \
 	IdentityDictionary \
 	InlineObjectClassDescription \
 	Integer \
@@ -342,6 +333,8 @@
 	Lookup \
 	OSProcess \
 	BuiltinLookup \
+	Annotation \
+	NamespaceAwareLookup \
 
 WIN32_CLASSES= \
 	Win32Process \
@@ -366,7 +359,6 @@
     $(OUTDIR)Autoload.$(O) \
     $(OUTDIR)Object.$(O) \
     $(OUTDIR)ProtoObject.$(O) \
-    $(OUTDIR)AbstractDesktop.$(O) \
     $(OUTDIR)AbstractOperatingSystem.$(O) \
     $(OUTDIR)AbstractSourceFileReader.$(O) \
     $(OUTDIR)Behavior.$(O) \
@@ -374,8 +366,6 @@
     $(OUTDIR)CharacterEncoder.$(O) \
     $(OUTDIR)ClassBuilder.$(O) \
     $(OUTDIR)ClassCategoryReader.$(O) \
-    $(OUTDIR)CmdLineOption.$(O) \
-    $(OUTDIR)CmdLineParser.$(O) \
     $(OUTDIR)Collection.$(O) \
     $(OUTDIR)Context.$(O) \
     $(OUTDIR)Continuation.$(O) \
@@ -448,14 +438,11 @@
     $(OUTDIR)SequenceableCollection.$(O) \
     $(OUTDIR)Set.$(O) \
     $(OUTDIR)SmalltalkChunkFileSourceReader.$(O) \
-    $(OUTDIR)SmalltalkDesktop.$(O) \
     $(OUTDIR)SmalltalkLanguage.$(O) \
     $(OUTDIR)True.$(O) \
-    $(OUTDIR)UnixDesktop.$(O) \
     $(OUTDIR)UnixFilename.$(O) \
     $(OUTDIR)UserNotification.$(O) \
     $(OUTDIR)WeakInterestConverter.$(O) \
-    $(OUTDIR)WindowsDesktop.$(O) \
     $(OUTDIR)ActivityNotification.$(O) \
     $(OUTDIR)ArrayedCollection.$(O) \
     $(OUTDIR)Association.$(O) \
@@ -499,7 +486,6 @@
     $(OUTDIR)UserInformation.$(O) \
     $(OUTDIR)UserInterrupt.$(O) \
     $(OUTDIR)Warning.$(O) \
-    $(OUTDIR)XDGDesktop.$(O) \
     $(OUTDIR)YesToAllConfirmation.$(O) \
     $(OUTDIR)stx_libbasic.$(O) \
     $(OUTDIR)AbortAllOperationRequest.$(O) \
@@ -508,13 +494,11 @@
     $(OUTDIR)BreakPointInterrupt.$(O) \
     $(OUTDIR)CheapBlock.$(O) \
     $(OUTDIR)Class.$(O) \
-    $(OUTDIR)CmdLineOptionError.$(O) \
     $(OUTDIR)ClassBuildError.$(O) \
     $(OUTDIR)DoubleArray.$(O) \
     $(OUTDIR)ElementBoundsError.$(O) \
     $(OUTDIR)FloatArray.$(O) \
     $(OUTDIR)Fraction.$(O) \
-    $(OUTDIR)GNOMEDesktop.$(O) \
     $(OUTDIR)IdentityDictionary.$(O) \
     $(OUTDIR)InlineObjectClassDescription.$(O) \
     $(OUTDIR)Integer.$(O) \
@@ -650,6 +634,8 @@
     $(OUTDIR)Lookup.$(O) \
     $(OUTDIR)OSProcess.$(O) \
     $(OUTDIR)BuiltinLookup.$(O) \
+    $(OUTDIR)Annotation.$(O) \
+    $(OUTDIR)NamespaceAwareLookup.$(O) \
 
 WIN32_OBJS= \
     $(OUTDIR)Win32Process.$(O) \
@@ -664,4 +650,3 @@
 
 
 
-
--- a/Method.st	Tue May 18 14:31:21 2010 +0100
+++ b/Method.st	Thu May 20 14:35:23 2010 +0100
@@ -318,6 +318,48 @@
 
 !Method methodsFor:'accessing'!
 
+annotateWith: annotation
+
+    | index |
+    index := self annotationIndexOf: annotation key.
+    index 
+        ifNil:
+            [annotations := annotations
+                                ifNil:[Array with: annotation]
+                                ifNotNil:[annotations copyWith:annotation]]
+        ifNotNil:
+            [annotations at: index put: annotation].
+    annotation annotatesMethod: self.
+
+    "
+        (Object >> #yourself) annotateWith: (Annotation namespace: 'Fictious').  
+        (Object >> #yourself) annotations.
+        (Object >> #yourself) annotationAt: #namespace: 
+    "
+
+    "Created: / 19-05-2010 / 16:20:36 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2010 / 11:22:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+annotationAt: key
+
+    | index |
+
+    index := self annotationIndexOf: key.
+    index ifNil:[^nil].        
+    ^annotations at: index.
+
+    "
+        (Object >> #yourself) annotationAt: #namespace:
+    "
+
+    "Created: / 19-05-2010 / 16:16:25 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+annotations
+    ^ annotations
+!
+
 category
     "return the methods category or nil"
 
@@ -425,9 +467,11 @@
 
 lookupObject: anObject
 
-    bindObject := anObject
+    bindObject := anObject.
+    ObjectMemory flushCaches.
 
     "Created: / 28-04-2010 / 18:36:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2010 / 11:35:48 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 makeLocalStringSource
@@ -462,21 +506,36 @@
 
 nameSpace
 
-    "Returns my nameSpace or nil. nil means that this method
-     is not namespaced and should be first in the method dictionary"
-
+    "Returns my namespace or nil. If no explicit method namespace
+     is set, my programmming language is used as default namespace
+     (for compatibility reasons, for smalltalk methods nil is returned,
+     which means that the method is not namespaced).
     "
-    My programming language is my default namespace, 
-    will change with selector namespace support 
-    "
-
-    | lang |
+
+    | nsA lang |    
+    nsA := self annotationAt: #namespace:.
+    nsA ifNotNil:[^nsA nameSpace].
 
     ^(lang := self programmingLanguage) isSmalltalk
         ifTrue:[nil]
         ifFalse:[lang].
 
+    "
+        (Method >> #nameSpace) nameSpace
+        (Object >> #yourself) nameSpace
+    
+    "
+
     "Created: / 26-04-2010 / 16:30:43 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2010 / 09:38:09 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+nameSpace: aNameSpace
+
+    self annotateWith: (Annotation namespace: aNameSpace name)
+
+    "Created: / 20-05-2010 / 10:05:23 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2010 / 11:30:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 overriddenMethod
@@ -551,21 +610,12 @@
     "Modified: / 23-11-2006 / 17:01:02 / cg"
 !
 
-replacementMethodFor: newMethod
-
-    "
-        Method sandboxing helper. This method is invoked when 
-        receiver is being replaced by anotherMethod. When anotherMethod's 
-        language matches current one, anotherMethod is returned.
-        If not, a new SandboxedMethod is returned.
-    "
-
-    ^self sandbox = newMethod sandbox 
-        ifTrue:[newMethod]
-        ifFalse:[SandboxedMethod with: self with: newMethod]
-
-    "Created: / 27-12-2009 / 08:52:46 / Jan Vrany <jan.vrany@fit.cvut.cz>"
-    "Modified: / 27-12-2009 / 13:45:06 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+setAnnotations: anObject
+    "set the annotations (low level - use do not use)"
+
+    annotations :=  anObject
+
+    "Created: / 20-05-2010 / 11:27:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
 !
 
 setCategory:aStringOrSymbol
@@ -1673,6 +1723,32 @@
 
 !Method methodsFor:'private'!
 
+annotationIndexOf: key
+
+    annotations ifNil:[^nil].
+
+    annotations keysAndValuesDo:
+        [:index :annotationOrArray|
+        annotationOrArray isArray ifTrue:
+            [annotationOrArray first == key ifTrue:
+                [|annotation|
+                annotation := Annotation 
+                                perform: annotationOrArray first 
+                                withArguments: annotationOrArray second
+                                ifNotUnderstood:
+                                    [Annotation
+                                        key: annotationOrArray first 
+                                        arguments: annotationOrArray second].
+                annotations at: index put: annotation.
+                annotation annotatesMethod: self.
+                ^index]]
+            ifFalse:[annotationOrArray key == key ifTrue:[^index]]].
+    ^nil.
+
+    "Created: / 19-05-2010 / 16:40:32 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2010 / 11:20:27 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 cacheSourceStream:aStream
     "remember a (raw) source stream for later use"
 
@@ -3103,7 +3179,7 @@
 !Method class methodsFor:'documentation'!
 
 version
-    ^ '$Id: Method.st 10523 2010-05-18 13:31:21Z vranyj1 $'
+    ^ '$Id: Method.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 !
 
 version_CVS
@@ -3111,9 +3187,7 @@
 !
 
 version_SVN
-    ^ '$Id: Method.st 10523 2010-05-18 13:31:21Z vranyj1 $'
+    ^ '$Id: Method.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
 
 Method initialize!
-
-
--- a/NameSpace.st	Tue May 18 14:31:21 2010 +0100
+++ b/NameSpace.st	Thu May 20 14:35:23 2010 +0100
@@ -369,6 +369,12 @@
     ^ self allClasses collect:[:each | each nameWithoutPrefix]
 !
 
+imports
+    ^ #()
+
+    "Created: / 19-05-2010 / 16:06:34 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 includesKey:aClassNameStringOrSymbol
     "{ Pragma: +optSpace }"
 
@@ -672,7 +678,7 @@
 !NameSpace class methodsFor:'documentation'!
 
 version
-    ^ '$Id: NameSpace.st 10497 2010-02-12 10:46:05Z vranyj1 $'
+    ^ '$Id: NameSpace.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 !
 
 version_CVS
@@ -680,5 +686,5 @@
 !
 
 version_SVN
-    ^ '$Id: NameSpace.st 10497 2010-02-12 10:46:05Z vranyj1 $'
+    ^ '$Id: NameSpace.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/NamespaceAwareLookup.st	Thu May 20 14:35:23 2010 +0100
@@ -0,0 +1,111 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libbasic' }"
+
+Lookup subclass:#NamespaceAwareLookup
+	instanceVariableNames:''
+	classVariableNames:'Instance'
+	poolDictionaries:''
+	category:'Kernel-Extensions'
+!
+
+!NamespaceAwareLookup class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!NamespaceAwareLookup class methodsFor:'accessing'!
+
+instance
+
+    Instance ifNil:[Instance := self basicNew].
+    ^Instance
+
+    "Created: / 20-05-2010 / 11:18:20 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!NamespaceAwareLookup methodsFor:'lookup'!
+
+lookupMethodForSelector: selector directedTo: searchClass for: receiver withArguments: argArrayOrNil from: sendingContext 
+    "invoked by the VM to ask me for a method to call.
+     The arguments are: the selector, receiver and arguments,
+     the class to start the search in (for here-, super and directed sends)
+     the sending context.
+
+     The returned method object will be put into the inline- and polyCache
+     at the call site; it might therefore be called more than once for the
+     same receiver-class/selector combination (once for each call site).
+     If I return nil, a doesNotUnderstand will be invoked."
+    "I implement a selector-namespace-aware lookup"
+    
+    | method  queue  visited |
+
+    queue := Queue new.
+    visited := Set new.
+    (method := sendingContext method) 
+        ifNotNil: [method nameSpace ifNotNil: [queue add: method nameSpace]].
+    [queue notEmpty] whileTrue: 
+            [| ns  mthd |
+
+            ns := queue removeFirst.
+            visited add: ns.
+            mthd := self 
+                        lookupMethodForSelector: selector
+                        directedTo: searchClass
+                        inNamespace: ns.
+            mthd ifNotNil: [^ mthd].
+            ns imports 
+                do: [:importedNs | (visited includes: importedNs) ifFalse: [queue add: importedNs]]].
+     "Fallback, lookup for method in no namespace"
+    ^ self 
+        lookupMethodForSelector: selector
+        directedTo: searchClass
+        inNamespace: nil
+
+    "Created: / 20-05-2010 / 10:10:31 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+    "Modified: / 20-05-2010 / 11:42:30 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+lookupMethodForSelector: selector directedTo: initialSearchClass inNamespace: nameSpace
+
+    "Searches initialSearchClass for a method with given selector in given nameSpace.
+     if no method in given namespace is found, returns nil"
+
+    | searchClass |
+    searchClass := initialSearchClass.
+    [ searchClass notNil ] whileTrue:        
+        [searchClass selectorsAndMethodsDo:
+            [:sel :mthd|
+            (sel = selector and:[mthd nameSpace = nameSpace]) 
+                ifTrue:[^mthd]].
+        searchClass := searchClass superclass].
+    ^nil
+
+    "Created: / 20-05-2010 / 10:12:18 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!NamespaceAwareLookup class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id: NamespaceAwareLookup.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+! !
--- a/OSProcess.st	Tue May 18 14:31:21 2010 +0100
+++ b/OSProcess.st	Thu May 20 14:35:23 2010 +0100
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libbasic' }"
 
 Object subclass:#OSProcess
@@ -9,6 +20,20 @@
 
 !OSProcess class methodsFor:'documentation'!
 
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+!
+
 documentation
 "
     OSProcess is an abstract class. Instances represent operating system processes
@@ -122,4 +147,8 @@
 
 version_CVS
     ^ '§Header: /cvs/stx/stx/libbasic/OSProcess.st,v 1.1 2010/04/27 08:07:00 stefan Exp §'
+!
+
+version_SVN
+    ^ '$Id$'
 ! !
--- a/ProgrammingLanguage.st	Tue May 18 14:31:21 2010 +0100
+++ b/ProgrammingLanguage.st	Thu May 20 14:35:23 2010 +0100
@@ -203,6 +203,16 @@
 
 !ProgrammingLanguage methodsFor:'accessing'!
 
+imports
+
+    "To make it polymorph with NameSpace for
+     selector-namespace enabled systems"
+
+    ^#()
+
+    "Created: / 20-05-2010 / 14:17:35 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
 name
     "Answers a human-readable name of myself:
      'Smalltalk' for SmalltalkLanguage,
@@ -386,7 +396,7 @@
 !ProgrammingLanguage class methodsFor:'documentation'!
 
 version
-    ^ '$Id: ProgrammingLanguage.st 10517 2010-04-26 18:26:38Z vranyj1 $'
+    ^ '$Id: ProgrammingLanguage.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 !
 
 version_CVS
@@ -394,7 +404,7 @@
 !
 
 version_SVN
-    ^ '$Id: ProgrammingLanguage.st 10517 2010-04-26 18:26:38Z vranyj1 $'
+    ^ '$Id: ProgrammingLanguage.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
 
 ProgrammingLanguage initialize!
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/SelectorNamespacesTest.st	Thu May 20 14:35:23 2010 +0100
@@ -0,0 +1,92 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+"{ Package: 'stx:libbasic' }"
+
+TestCase subclass:#SelectorNamespacesTest
+	instanceVariableNames:''
+	classVariableNames:''
+	poolDictionaries:''
+	category:'Kernel-Tests'
+!
+
+!SelectorNamespacesTest class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
+
+!SelectorNamespacesTest methodsFor:'initialization & release'!
+
+tearDown
+
+    (self class >> #m1)
+        lookupObject: nil;
+        setAnnotations: nil.
+    (self class >> #call_m1)
+        lookupObject: nil;
+        setAnnotations: nil.
+
+    "Created: / 20-05-2010 / 11:27:55 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SelectorNamespacesTest methodsFor:'methods'!
+
+call_m1
+
+    ^self m1
+
+    "Created: / 20-05-2010 / 11:25:17 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+!
+
+m1
+
+    ^#m1
+
+    "Created: / 20-05-2010 / 11:25:07 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SelectorNamespacesTest methodsFor:'tests'!
+
+test_01a
+
+    self assert: self m1 == #m1.
+    self assert: self call_m1 == #m1.
+
+    
+    (self class >> #call_m1) nameSpace: (NameSpace name: #'SelectorNamespace'). 
+
+    self assert: self m1 == #m1.
+    self assert: self call_m1 == #m1.
+
+    (self class >> #m1) nameSpace: (NameSpace name: #'SelectorNamespace2').
+
+    self assert: self m1 == #m1.
+    self should: [self call_m1 == #m1] raise: Object messageNotUnderstoodSignal.
+
+    "Created: / 20-05-2010 / 11:28:40 / Jan Vrany <jan.vrany@fit.cvut.cz>"
+! !
+
+!SelectorNamespacesTest class methodsFor:'documentation'!
+
+version_SVN
+    ^ '$Id: SelectorNamespacesTest.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+! !
--- a/SmalltalkDesktop.st	Tue May 18 14:31:21 2010 +0100
+++ b/SmalltalkDesktop.st	Thu May 20 14:35:23 2010 +0100
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libbasic' }"
 
 AbstractDesktop subclass:#SmalltalkDesktop
@@ -7,6 +18,21 @@
 	category:'System-Desktop'
 !
 
+!SmalltalkDesktop class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !SmalltalkDesktop class methodsFor:'accessing'!
 
@@ -33,5 +59,9 @@
 !SmalltalkDesktop class methodsFor:'documentation'!
 
 version
-    ^'$Id: SmalltalkDesktop.st 10461 2009-08-12 13:49:00Z vranyj1 $'
+    ^'$Id: SmalltalkDesktop.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+!
+
+version_SVN
+    ^ '$Id: SmalltalkDesktop.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
--- a/WindowsDesktop.st	Tue May 18 14:31:21 2010 +0100
+++ b/WindowsDesktop.st	Thu May 20 14:35:23 2010 +0100
@@ -1,3 +1,14 @@
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
 "{ Package: 'stx:libbasic' }"
 
 AbstractDesktop subclass:#WindowsDesktop
@@ -7,6 +18,21 @@
 	category:'System-Desktop'
 !
 
+!WindowsDesktop class methodsFor:'documentation'!
+
+copyright
+"
+ COPYRIGHT (c) 2006 by eXept Software AG
+              All Rights Reserved
+
+ This software is furnished under a license and may be used
+ only in accordance with the terms of that license and with the
+ inclusion of the above copyright notice.   This software may not
+ be provided or otherwise made available to, or used by, any
+ other person.  No title to or ownership of the software is
+ hereby transferred.
+"
+! !
 
 !WindowsDesktop class methodsFor:'accessing'!
 
@@ -29,5 +55,9 @@
 !WindowsDesktop class methodsFor:'documentation'!
 
 version
-    ^'$Id: WindowsDesktop.st 10461 2009-08-12 13:49:00Z vranyj1 $'
+    ^'$Id: WindowsDesktop.st 10524 2010-05-20 13:35:23Z vranyj1 $'
+!
+
+version_SVN
+    ^ '$Id: WindowsDesktop.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
--- a/abbrev.stc	Tue May 18 14:31:21 2010 +0100
+++ b/abbrev.stc	Thu May 20 14:35:23 2010 +0100
@@ -74,7 +74,7 @@
 Filename Filename stx:libbasic 'System-Support' 0
 GenericException GenericException stx:libbasic 'Kernel-Exceptions' 1
 Geometric Geometric stx:libbasic 'Graphics-Geometry-Objects' 0
-ImaginaryResultError ImaginaryResultError stx:libbasic 'Kernel-Exceptions-Errors' 1
+ImaginaryResultError ImaginaryResultError stx:libbasic 'Kernel-Exceptions-Errors' 0
 Infinity Infinity stx:libbasic 'Magnitude-Numbers' 0
 InlineObject InlineObject stx:libbasic 'Programming-Support' 0
 InterestConverter InterestConverter stx:libbasic 'Interface-Support-Models' 0
@@ -84,7 +84,7 @@
 Magnitude Magnitude stx:libbasic 'Magnitude-General' 0
 MappedExternalBytes MappedExternalBytes stx:libbasic 'System-Support' 0
 Message Message stx:libbasic 'Kernel-Methods' 0
-MethodOverridesTest MethodOverridesTest stx:libbasic 'Kernel-Tests' 4
+MethodOverridesTest MethodOverridesTest stx:libbasic 'Kernel-Tests' 0
 MetaNumber MetaNumber stx:libbasic 'Magnitude-Numbers' 0
 MiniDebugger MiniDebugger stx:libbasic 'System-Debugging-Support' 0
 MiniInspector MiniInspector stx:libbasic 'System-Debugging-Support' 0
@@ -116,7 +116,7 @@
 SomeNumber SomeNumber stx:libbasic 'Magnitude-Numbers' 0
 StandaloneStartup StandaloneStartup stx:libbasic 'System-Support' 1
 Stream Stream stx:libbasic 'Streams' 0
-SystemNotification SystemNotification stx:libbasic 'Kernel-Exceptions-Notifications' 1
+SystemNotification SystemNotification stx:libbasic 'Kernel-Exceptions-Notifications' 0
 TextCollectorStream TextCollectorStream stx:libbasic 'Streams-Misc' 0
 UnboundedExternalStream UnboundedExternalStream stx:libbasic 'Streams-External' 0
 UndefinedObject UndefinedObject stx:libbasic 'Kernel-Objects' 0
@@ -166,7 +166,7 @@
 SmalltalkDesktop SmalltalkDesktop stx:libbasic 'System-Desktop' 0
 SmalltalkLanguage SmalltalkLanguage stx:libbasic 'Kernel-Languages' 1
 True True stx:libbasic 'Kernel-Objects' 0
-UnixDesktop UnixDesktop stx:libbasic 'unknownCategory' 0
+UnixDesktop UnixDesktop stx:libbasic 'System-Desktop' 0
 UnixFilename UnixFilename stx:libbasic 'OS-Unix' 0
 UserNotification UserNotification stx:libbasic 'Kernel-Exceptions-Notifications' 1
 WeakInterestConverter WeakInterestConverter stx:libbasic 'Interface-Support-Models' 0
@@ -370,5 +370,8 @@
 ImmutableString ImmutableString stx:libbasic 'System-Compiler-Support' 0
 PrototypeLookupAlgorithm PrototypeLookupAlgorithm stx:libbasic 'Kernel-Classes' 0
 Lookup Lookup stx:libbasic 'Kernel-Classes' 0
+OSProcess OSProcess stx:libbasic 'System-Support' 0
 BuiltinLookup BuiltinLookup stx:libbasic 'Kernel-Classes' 0
-
+SelectorNamespacesTest SelectorNamespacesTest stx:libbasic 'Kernel-Tests' 4
+Annotation Annotation stx:libbasic 'Kernel-Extensions' 0
+NamespaceAwareLookup NamespaceAwareLookup stx:libbasic 'Kernel-Extensions' 0
--- a/bc.mak	Tue May 18 14:31:21 2010 +0100
+++ b/bc.mak	Thu May 20 14:35:23 2010 +0100
@@ -1,4 +1,4 @@
-# $Header: /cvs/stx/stx/libbasic/bc.mak,v 1.166 2010/04/27 08:10:26 stefan Exp $
+# $Header$
 #
 # DO NOT EDIT
 # automagically generated from the projectDefinition: stx_libbasic.
@@ -58,6 +58,7 @@
 $(OUTDIR)ProtoObject.$(O) ProtoObject.$(H): ProtoObject.st $(STCHDR)
 $(OUTDIR)AbstractOperatingSystem.$(O) AbstractOperatingSystem.$(H): AbstractOperatingSystem.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)AbstractSourceFileReader.$(O) AbstractSourceFileReader.$(H): AbstractSourceFileReader.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)Annotation.$(O) Annotation.$(H): Annotation.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)Behavior.$(O) Behavior.$(H): Behavior.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)Boolean.$(O) Boolean.$(H): Boolean.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)CharacterEncoder.$(O) CharacterEncoder.$(H): CharacterEncoder.st $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -131,6 +132,7 @@
 $(OUTDIR)LibraryDefinition.$(O) LibraryDefinition.$(H): LibraryDefinition.st $(INCLUDE_TOP)\stx\libbasic\ProjectDefinition.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)LookupKey.$(O) LookupKey.$(H): LookupKey.st $(INCLUDE_TOP)\stx\libbasic\Magnitude.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)MessageSend.$(O) MessageSend.$(H): MessageSend.st $(INCLUDE_TOP)\stx\libbasic\Message.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
+$(OUTDIR)NamespaceAwareLookup.$(O) NamespaceAwareLookup.$(H): NamespaceAwareLookup.st $(INCLUDE_TOP)\stx\libbasic\Lookup.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)NoHandlerError.$(O) NoHandlerError.$(H): NoHandlerError.st $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)Notification.$(O) Notification.$(H): Notification.st $(INCLUDE_TOP)\stx\libbasic\GenericException.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)OSHandle.$(O) OSHandle.$(H): OSHandle.st $(INCLUDE_TOP)\stx\libbasic\ExternalAddress.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
@@ -332,14 +334,6 @@
 $(OUTDIR)Symbol.$(O) Symbol.$(H): Symbol.st $(INCLUDE_TOP)\stx\libbasic\String.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)Unicode16String.$(O) Unicode16String.$(H): Unicode16String.st $(INCLUDE_TOP)\stx\libbasic\TwoByteString.$(H) $(INCLUDE_TOP)\stx\libbasic\CharacterArray.$(H) $(INCLUDE_TOP)\stx\libbasic\ByteArray.$(H) $(INCLUDE_TOP)\stx\libbasic\UninterpretedBytes.$(H) $(INCLUDE_TOP)\stx\libbasic\ArrayedCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\SequenceableCollection.$(H) $(INCLUDE_TOP)\stx\libbasic\Collection.$(H) $(INCLUDE_TOP)\stx\libbasic\Object.$(H) $(STCHDR)
 $(OUTDIR)CmdLineParserTest.$(O) CmdLineParserTest.$(H): CmdLineParserTest.st $(STCHDR)
-$(OUTDIR)AbstractDesktop.$(O) AbstractDesktop.$(H): AbstractDesktop.st $(STCHDR)
-$(OUTDIR)CmdLineOption.$(O) CmdLineOption.$(H): CmdLineOption.st $(STCHDR)
-$(OUTDIR)CmdLineParser.$(O) CmdLineParser.$(H): CmdLineParser.st $(STCHDR)
-$(OUTDIR)SmalltalkDesktop.$(O) SmalltalkDesktop.$(H): SmalltalkDesktop.st $(STCHDR)
-$(OUTDIR)UnixDesktop.$(O) UnixDesktop.$(H): UnixDesktop.st $(STCHDR)
-$(OUTDIR)WindowsDesktop.$(O) WindowsDesktop.$(H): WindowsDesktop.st $(STCHDR)
-$(OUTDIR)XDGDesktop.$(O) XDGDesktop.$(H): XDGDesktop.st $(STCHDR)
-$(OUTDIR)CmdLineOptionError.$(O) CmdLineOptionError.$(H): CmdLineOptionError.st $(STCHDR)
 $(OUTDIR)Win32Process.$(O) Win32Process.$(H): Win32Process.st $(STCHDR)
 $(OUTDIR)PCFilename.$(O) PCFilename.$(H): PCFilename.st $(STCHDR)
 $(OUTDIR)CharacterEncoderImplementations__MS_Baltic.$(O) CharacterEncoderImplementations__MS_Baltic.$(H): CharacterEncoderImplementations__MS_Baltic.st $(STCHDR)
@@ -349,7 +343,5 @@
 $(OUTDIR)Win32FILEHandle.$(O) Win32FILEHandle.$(H): Win32FILEHandle.st $(STCHDR)
 $(OUTDIR)Win32Constants.$(O) Win32Constants.$(H): Win32Constants.st $(STCHDR)
 $(OUTDIR)Win32OperatingSystem.$(O) Win32OperatingSystem.$(H): Win32OperatingSystem.st $(STCHDR)
-$(OUTDIR)GNOMEDesktop.$(O) GNOMEDesktop.$(H): GNOMEDesktop.st $(STCHDR)
 
 # ENDMAKEDEPEND --- do not remove this line
-
--- a/libInit.cc	Tue May 18 14:31:21 2010 +0100
+++ b/libInit.cc	Thu May 20 14:35:23 2010 +0100
@@ -1,5 +1,5 @@
 /*
- * $Header: /cvs/stx/stx/libbasic/libInit.cc,v 1.158 2010/04/27 08:10:28 stefan Exp $
+ * $Header$
  *
  * DO NOT EDIT
  * automagically generated from the projectDefinition: stx_libbasic.
@@ -32,6 +32,7 @@
 _ProtoObject_Init(pass,__pRT__,snd);
 _AbstractOperatingSystem_Init(pass,__pRT__,snd);
 _AbstractSourceFileReader_Init(pass,__pRT__,snd);
+_Annotation_Init(pass,__pRT__,snd);
 _Behavior_Init(pass,__pRT__,snd);
 _Boolean_Init(pass,__pRT__,snd);
 _CharacterEncoder_Init(pass,__pRT__,snd);
@@ -105,6 +106,7 @@
 _LibraryDefinition_Init(pass,__pRT__,snd);
 _LookupKey_Init(pass,__pRT__,snd);
 _MessageSend_Init(pass,__pRT__,snd);
+_NamespaceAwareLookup_Init(pass,__pRT__,snd);
 _NoHandlerError_Init(pass,__pRT__,snd);
 _Notification_Init(pass,__pRT__,snd);
 _OSHandle_Init(pass,__pRT__,snd);
@@ -305,15 +307,6 @@
 _PipeStream_Init(pass,__pRT__,snd);
 _Symbol_Init(pass,__pRT__,snd);
 _Unicode16String_Init(pass,__pRT__,snd);
-_AbstractDesktop_Init(pass,__pRT__,snd);
-_CmdLineOption_Init(pass,__pRT__,snd);
-_CmdLineParser_Init(pass,__pRT__,snd);
-_SmalltalkDesktop_Init(pass,__pRT__,snd);
-_UnixDesktop_Init(pass,__pRT__,snd);
-_WindowsDesktop_Init(pass,__pRT__,snd);
-_XDGDesktop_Init(pass,__pRT__,snd);
-_CmdLineOptionError_Init(pass,__pRT__,snd);
-_GNOMEDesktop_Init(pass,__pRT__,snd);
 #ifdef UNIX
 _UnixFileDescriptorHandle_Init(pass,__pRT__,snd);
 _UnixFileHandle_Init(pass,__pRT__,snd);
@@ -334,4 +327,3 @@
 
 __END_PACKAGE__();
 }
-
--- a/libbasic.rc	Tue May 18 14:31:21 2010 +0100
+++ b/libbasic.rc	Thu May 20 14:35:23 2010 +0100
@@ -3,7 +3,7 @@
 // automagically generated from the projectDefinition: stx_libbasic.
 //
 VS_VERSION_INFO VERSIONINFO
-  FILEVERSION     6,1,1,73
+  FILEVERSION     6,1,10523,10523
   PRODUCTVERSION  6,1,1,1
   FILEFLAGSMASK   VS_FF_DEBUG | VS_FF_PRERELEASE
   FILEFLAGS       VS_FF_PRERELEASE | VS_FF_SPECIALBUILD
@@ -18,12 +18,12 @@
     BEGIN
       VALUE "CompanyName", "eXept Software AG\0"
       VALUE "FileDescription", "Smalltalk/X Basic Classes (LIB)\0"
-      VALUE "FileVersion", "6.1.1.73\0"
+      VALUE "FileVersion", "6.1.10523.10523\0"
       VALUE "InternalName", "stx:libbasic\0"
       VALUE "LegalCopyright", "Copyright Claus Gittinger 1988-2009\nCopyright eXept Software AG 1998-2009\0"
       VALUE "ProductName", "Smalltalk/X\0"
       VALUE "ProductVersion", "6.1.1.1\0"
-      VALUE "ProductDate", "Tue, 27 Apr 2010 08:10:07 GMT\0"
+      VALUE "ProductDate", "Thu, 20 May 2010 12:29:40 GMT\0"
     END
 
   END
@@ -33,4 +33,3 @@
     VALUE "Translation", 0x409, 0x4E4 // U.S. English, Windows Multilingual
   END
 END
-
--- a/stx_libbasic.st	Tue May 18 14:31:21 2010 +0100
+++ b/stx_libbasic.st	Thu May 20 14:35:23 2010 +0100
@@ -118,10 +118,10 @@
     ^ #(
         "<className> or (<className> attributes...) in load order"
         Autoload
-        CmdLineParserTest
+        (CmdLineParserTest autoload)
         Object
         ProtoObject
-        AbstractDesktop
+        (AbstractDesktop autoload)
         AbstractOperatingSystem
         AbstractSourceFileReader
         (BadRomanNumberFormatError autoload)
@@ -181,8 +181,8 @@
         (#'CharacterEncoderImplementations::NEXT' autoload)
         ClassBuilder
         ClassCategoryReader
-        CmdLineOption
-        CmdLineParser
+        (CmdLineOption autoload)
+        (CmdLineParser autoload)
         Collection
         Context
         Continuation
@@ -282,14 +282,14 @@
         SequenceableCollection
         Set
         SmalltalkChunkFileSourceReader
-        SmalltalkDesktop
+        (SmalltalkDesktop autoload)
         SmalltalkLanguage
         True
-        UnixDesktop
+        (UnixDesktop autoload)
         UnixFilename
         UserNotification
         WeakInterestConverter
-        WindowsDesktop
+        (WindowsDesktop autoload)
         ActivityNotification
         ArrayedCollection
         Association
@@ -337,7 +337,7 @@
         UserInterrupt
         Warning
         (Win32Handle win32)
-        XDGDesktop
+        (XDGDesktop autoload)
         YesToAllConfirmation
         #'stx_libbasic'
         AbortAllOperationRequest
@@ -346,13 +346,13 @@
         BreakPointInterrupt
         CheapBlock
         Class
-        CmdLineOptionError
+        (CmdLineOptionError autoload)
         ClassBuildError
         DoubleArray
         ElementBoundsError
         FloatArray
         Fraction
-        GNOMEDesktop
+        (GNOMEDesktop autoload)
         IdentityDictionary
         InlineObjectClassDescription
         Integer
@@ -491,6 +491,9 @@
         Lookup
         OSProcess
         BuiltinLookup
+        (SelectorNamespacesTest autoload)
+        Annotation
+        NamespaceAwareLookup
     )
 !
 
@@ -530,13 +533,13 @@
     "Return a SVN revision number of myself.
      This number is updated after a commit"
 
-    ^ "$SVN-Revision:"'10520:10521M'"$"
+    ^ "$SVN-Revision:"'10523M'"$"
 ! !
 
 !stx_libbasic class methodsFor:'documentation'!
 
 version
-    ^ '$Id: stx_libbasic.st 10523 2010-05-18 13:31:21Z vranyj1 $'
+    ^ '$Id: stx_libbasic.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 !
 
 version_CVS
@@ -544,6 +547,5 @@
 !
 
 version_SVN
-    ^ '$Id: stx_libbasic.st 10523 2010-05-18 13:31:21Z vranyj1 $'
+    ^ '$Id: stx_libbasic.st 10524 2010-05-20 13:35:23Z vranyj1 $'
 ! !
-