AbstractSourceCodeManager.st
changeset 557 8466accf9276
parent 550 3ddcec87d591
child 558 931448e9af1e
--- a/AbstractSourceCodeManager.st	Wed Mar 05 17:10:48 1997 +0100
+++ b/AbstractSourceCodeManager.st	Mon Mar 17 11:37:29 1997 +0100
@@ -765,7 +765,7 @@
      (not knowing anything about its version).
      Used when autoloading classes."
 
-    |cls sourceInfo classFileName packageDir moduleDir|
+    |cls sourceInfo classFileName packageDir moduleDir s m components|
 
     cls := Smalltalk classNamed:aClassName.
     cls notNil ifTrue:[
@@ -786,13 +786,31 @@
         ^ nil
     ].
 
-    ^ self 
+    s := self 
         streamForClass:nil
         fileName:classFileName 
         revision:#newest 
         directory:packageDir 
         module:moduleDir
-        cache:false
+        cache:false.
+
+    s isNil ifTrue:[
+        "/ guessed moduleDir ?
+        
+        sourceInfo isNil ifTrue:[
+            components := Filename components:packageDir.
+            moduleDir := components first.
+            packageDir := (Filename fromComponents:(components copyFrom:2)) asString.
+            s := self 
+                streamForClass:nil
+                fileName:classFileName 
+                revision:#newest 
+                directory:packageDir 
+                module:moduleDir
+                cache:false.
+        ]
+    ].
+    ^ s.
 
     "Created: 12.10.1996 / 17:22:54 / cg"
     "Modified: 10.1.1997 / 17:27:27 / cg"
@@ -1005,7 +1023,7 @@
     ^ nil
 
     "
-     SourceCodeManager revisionInfoFromString:'$Revision: 1.74 $'
+     SourceCodeManager revisionInfoFromString:'$Revision: 1.75 $'
      SourceCodeManager revisionInfoFromString:(SourceCodeManager version)
     "
 
@@ -1341,6 +1359,6 @@
 !AbstractSourceCodeManager class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic3/AbstractSourceCodeManager.st,v 1.74 1997-01-29 18:32:20 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic3/AbstractSourceCodeManager.st,v 1.75 1997-03-17 10:37:29 cg Exp $'
 ! !
 AbstractSourceCodeManager initialize!