# HG changeset patch # User Claus Gittinger # Date 858608287 -3600 # Node ID 603af5a4e0fcb6e837eaa4a310654ec759556876 # Parent 7262e3b2c20a7f987b3c25d24884a0dd35404888 handle degenerated package string from other modules, without color-separated module-name. diff -r 7262e3b2c20a -r 603af5a4e0fc Class.st --- a/Class.st Mon Mar 17 12:30:21 1997 +0100 +++ b/Class.st Mon Mar 17 15:18:07 1997 +0100 @@ -4344,7 +4344,7 @@ " |owner sourceInfo packageString idx1 idx2 - moduleString directoryString libraryString components| + moduleString directoryString libraryString components dirComponents mgr| (owner := self owningClass) notNil ifTrue:[^ owner packageSourceCodeInfo]. @@ -4357,7 +4357,10 @@ idx2 ~~ 0 ifTrue:[ sourceInfo := packageString copyFrom:idx1 + 1 to:idx2 - 1 ] + ] ifFalse:[ + sourceInfo := packageString ]. + sourceInfo isNil ifTrue:[^ nil]. components := sourceInfo asCollectionOfSubstringsSeparatedBy:$:. components size == 0 ifTrue:[ @@ -4366,12 +4369,22 @@ ^ nil ] ifFalse:[ components size == 1 ifTrue:[ - "/ a single name given - the module becomes 'stx', - "/ if the component includes slashes, its the directory + "/ a single name given - the module becomes 'stx' or + "/ the very first directory component (if such a module exists). + "/ If the component includes slashes, its the directory "/ otherwise the library "/ - moduleString := 'stx'. - directoryString := libraryString := components at:1. + dirComponents := Filename components:(components at:1). + (dirComponents size > 1 + and:[(mgr := self sourceCodeManager) notNil + and:[mgr checkForExistingModule:dirComponents first]]) ifTrue:[ + moduleString := dirComponents first. + directoryString := libraryString := (Filename fromComponents:(dirComponents copyFrom:2)) asString. + ] ifFalse:[ + moduleString := 'stx'. + directoryString := libraryString := components at:1. + ]. + (libraryString includes:$/) ifTrue:[ libraryString := libraryString asFilename baseName ] @@ -4428,7 +4441,7 @@ " "Created: 4.11.1995 / 20:36:53 / cg" - "Modified: 15.10.1996 / 18:56:03 / cg" + "Modified: 17.3.1997 / 15:12:32 / cg" ! revision @@ -4894,6 +4907,6 @@ !Class class methodsFor:'documentation'! version - ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.258 1997-03-05 16:07:22 ca Exp $' + ^ '$Header: /cvs/stx/stx/libbasic/Class.st,v 1.259 1997-03-17 14:18:07 cg Exp $' ! ! Class initialize!