checkin from browser
authorClaus Gittinger <cg@exept.de>
Sat, 16 Oct 1999 13:13:09 +0200
changeset 4912 43182d65eaf2
parent 4911 d17e31fa32a7
child 4913 4964b2c71d31
checkin from browser
PositionableStream.st
Project.st
--- a/PositionableStream.st	Fri Oct 15 01:51:54 1999 +0200
+++ b/PositionableStream.st	Sat Oct 16 13:13:09 1999 +0200
@@ -423,7 +423,22 @@
     "file in from the receiver, i.e. read chunks and evaluate them -
      return the value of the last chunk."
 
-    ^ self fileInNotifying:(SourceFileLoader on:self) passChunk:true
+    |oldPath val|
+
+    self isFileStream ifFalse:[
+        ^ self fileInNotifying:(SourceFileLoader on:self) passChunk:true.
+    ].
+
+    [
+        oldPath := Smalltalk systemPath.
+        Smalltalk systemPath:(oldPath copy addFirst:(self pathName asFilename directoryName); yourself).
+        val := self fileInNotifying:(SourceFileLoader on:self) passChunk:true.
+    ] valueNowOrOnUnwindDo:[
+        Smalltalk systemPath:oldPath.
+    ].
+    ^ val
+
+    "Modified: / 16.10.1999 / 12:25:27 / cg"
 !
 
 fileInNextChunkNotifying:someone
@@ -1019,6 +1034,6 @@
 !PositionableStream class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.84 1999-09-20 07:56:04 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/PositionableStream.st,v 1.85 1999-10-16 11:12:51 cg Exp $'
 ! !
 PositionableStream initialize!
--- a/Project.st	Fri Oct 15 01:51:54 1999 +0200
+++ b/Project.st	Sat Oct 16 13:13:09 1999 +0200
@@ -20,15 +20,15 @@
 	category:'System-Support'
 !
 
-Object subclass:#ClassInfo
-	instanceVariableNames:'conditionForInclusion className classFileName'
+Object subclass:#MethodInfo
+	instanceVariableNames:'conditionForInclusion methodName className fileName'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Project
 !
 
-Object subclass:#MethodInfo
-	instanceVariableNames:'conditionForInclusion methodName className fileName'
+Object subclass:#ClassInfo
+	instanceVariableNames:'conditionForInclusion className classFileName'
 	classVariableNames:''
 	poolDictionaries:''
 	privateIn:Project
@@ -109,113 +109,117 @@
     ] ifFalse:[
         AllProjects do:[:p | packages at:p package asSymbol put:p].
     ].
-    Smalltalk allClassesDo:[:aClass |
-        |packageID prj classFilename pkgInfo revInfo 
-         repositoryPath dir module lib nm|
-
-        aClass isMeta ifFalse:[
-            (aClass isNamespace not or:[aClass == Smalltalk]) ifTrue:[
-                (Smalltalk at:aClass name) == aClass ifFalse:[
-                    Transcript showCR:'skipping obsolete/removed class: ' , aClass name.
-                ] ifTrue:[
-                    packageID := aClass package asSymbol.
-                    (packages includesKey:packageID) ifFalse:[
-
-                        "/ a new one ...
-
-                        prj := self new.
-                        prj package:packageID.
-                        prj directory:'???'.
-                        prj repositoryModule:'unknown'.
-                        prj repositoryDirectory:'unknown'.
-
-                        nm := 'unknown'.
-
-                        pkgInfo := aClass packageSourceCodeInfo.
-                        pkgInfo notNil ifTrue:[
-                            module := pkgInfo at:#module ifAbsent:nil.
-                            module notNil ifTrue:[
-                                prj repositoryModule:module    
-                            ].
-                            dir := pkgInfo at:#directory ifAbsent:nil.
-                            dir notNil ifTrue:[
-                                prj repositoryDirectory:dir    
-                            ].
-                            lib := pkgInfo at:#library ifAbsent:nil.
-                            lib notNil ifTrue:[
-                                prj type:#library.
-                            ].
-                            prj isLoaded:true.
-                        ].
-
-                        nm := (module ? 'unknown')
-                              , ':'
-                              , (dir ? (lib ? 'unknown')).
-                            
-                        prj name:nm.
-                        AllProjects add:prj.
-                        packages at:packageID put:prj.
-                    ] ifTrue:[
-                        prj := packages at:packageID.
-                        prj addClass:aClass.
-                    ].
-                ].
-            ].
-        ].
-    ].
-
-    Method allSubInstancesDo:[:aMethod |
-        |packageID prj who mthdClass|
-
-        who := aMethod who.
-        who notNil ifTrue:[ "/ skip unbound methods ...
-            packageID := aMethod package asSymbol.
-            (packages includesKey:packageID) ifFalse:[
-                "/ a new one ...
-                prj := self new.
-        "/            prj name:libName.
-                prj package:packageID.
-                prj type:#library.
-                prj directory:'???'.
-                prj repositoryModule:'stx'.
-                prj repositoryDirectory:'???'.
-                prj isLoaded:true.
-                AllProjects add:prj.
-                packages at:packageID put:prj.
-            ] ifTrue:[
-                "/ see if the methods class is in the project;
-                "/ if so, remove any patch-entry for this method.
-                prj := packages at:packageID.
-                ((prj classes includes:who methodClass)
-                or:[prj classes includes:who methodClass name]) ifTrue:[
-                    prj removeMethod:aMethod.
-                ]
-            ]
-        ]
-    ].
-
-    "/ walk over binary modules, to find out directory names ...
-
-    ObjectFileLoader loadedObjectHandles do:[:h |
-        |cls prj mDir|
-
-        cls := h classes firstIfEmpty:nil.
-        cls notNil ifTrue:[
-            prj := packages at:cls package ifAbsent:nil.
-            prj notNil ifTrue:[
-                mDir := h pathName asFilename directory pathName.
-                prj directory = '???' ifTrue:[
-                    prj directory:mDir
-                ] ifFalse:[
-                    prj directory ~= mDir ifTrue:[
-                        ('Project [warning]: conflicting project directories for ' , cls package) infoPrintCR.
-                    ]
-                ]
-            ]
-        ].
-    ].
-
-    self changed:#allProjects
+"/    Smalltalk allClassesDo:[:aClass |
+"/        |packageID prj classFilename pkgInfo revInfo 
+"/         repositoryPath dir module lib nm|
+"/
+"/        aClass isMeta ifFalse:[
+"/            (aClass isNamespace not or:[aClass == Smalltalk]) ifTrue:[
+"/                (Smalltalk at:aClass name) == aClass ifFalse:[
+"/                    Transcript showCR:'skipping obsolete/removed class: ' , aClass name.
+"/                ] ifTrue:[
+"/                    packageID := aClass package asSymbol.
+"/                    (packages includesKey:packageID) ifFalse:[
+"/
+"/                        "/ a new one ...
+"/
+"/                        prj := self new.
+"/                        prj package:packageID.
+"/                        prj directory:'???'.
+"/                        prj repositoryModule:'unknown'.
+"/                        prj repositoryDirectory:'unknown'.
+"/
+"/                        nm := 'unknown'.
+"/
+"/                        pkgInfo := aClass packageSourceCodeInfo.
+"/                        pkgInfo notNil ifTrue:[
+"/                            module := pkgInfo at:#module ifAbsent:nil.
+"/                            module notNil ifTrue:[
+"/                                prj repositoryModule:module    
+"/                            ].
+"/                            dir := pkgInfo at:#directory ifAbsent:nil.
+"/                            dir notNil ifTrue:[
+"/                                prj repositoryDirectory:dir    
+"/                            ].
+"/                            lib := pkgInfo at:#library ifAbsent:nil.
+"/                            lib notNil ifTrue:[
+"/                                prj type:#library.
+"/                            ].
+"/                            prj isLoaded:true.
+"/                        ].
+"/
+"/                        nm := (module ? 'unknown')
+"/                              , ':'
+"/                              , (dir ? (lib ? 'unknown')).
+"/                            
+"/                        prj name:nm.
+"/                        AllProjects add:prj.
+"/                        packages at:packageID put:prj.
+"/                    ] ifTrue:[
+"/                        prj := packages at:packageID.
+"/                        prj addClass:aClass.
+"/                    ].
+"/                ].
+"/            ].
+"/        ].
+"/    ].
+"/
+"/    Method allSubInstancesDo:[:aMethod |
+"/        |packageID prj who mthdClass|
+"/
+"/        who := aMethod who.
+"/        who notNil ifTrue:[ "/ skip unbound methods ...
+"/            packageID := aMethod package asSymbol.
+"/            (packages includesKey:packageID) ifFalse:[
+"/                "/ a new one ...
+"/                prj := self new.
+"/        "/            prj name:libName.
+"/                prj package:packageID.
+"/                prj type:#library.
+"/                prj directory:'???'.
+"/                prj repositoryModule:'stx'.
+"/                prj repositoryDirectory:'???'.
+"/                prj isLoaded:true.
+"/                AllProjects add:prj.
+"/                packages at:packageID put:prj.
+"/            ] ifTrue:[
+"/                "/ see if the methods class is in the project;
+"/                "/ if so, remove any patch-entry for this method.
+"/                prj := packages at:packageID.
+"/                ((prj classes includes:who methodClass)
+"/                or:[prj classes includes:who methodClass name]) ifTrue:[
+"/                    prj removeMethod:aMethod.
+"/                ]
+"/            ]
+"/        ]
+"/    ].
+"/
+"/    "/ walk over binary modules, to find out directory names ...
+"/
+"/    ObjectFileLoader loadedObjectHandles do:[:h |
+"/        |cls prj mDir|
+"/
+"/        cls := h classes firstIfEmpty:nil.
+"/        cls notNil ifTrue:[
+"/            prj := packages at:cls package ifAbsent:nil.
+"/            prj notNil ifTrue:[
+"/                mDir := h pathName asFilename directory pathName.
+"/                prj directory = '???' ifTrue:[
+"/                    prj directory:mDir
+"/                ] ifFalse:[
+"/                    prj directory ~= mDir ifTrue:[
+"/                        ('Project [warning]: conflicting project directories for ' , cls package) infoPrintCR.
+"/                    ]
+"/                ]
+"/            ]
+"/        ].
+"/    ].
+"/
+"/    self changed:#allProjects
+
+
+
+
 
 "/    |stx p|
 "/
@@ -264,7 +268,7 @@
      self initKnownProjects
     "
 
-    "Modified: / 23.3.1999 / 14:20:12 / cg"
+    "Modified: / 16.10.1999 / 13:10:37 / cg"
 !
 
 initialize
@@ -3218,56 +3222,6 @@
     "Modified: 14.2.1997 / 15:38:47 / cg"
 ! !
 
-!Project::ClassInfo methodsFor:'accessing'!
-
-classFileName
-    "return the value of the instance variable 'classFileName' (automatically generated)"
-
-    ^ classFileName!
-
-classFileName:something
-    "set the value of the instance variable 'classFileName' (automatically generated)"
-
-    classFileName := something.!
-
-className
-    "return the value of the instance variable 'className' (automatically generated)"
-
-    ^ className!
-
-className:something
-    "set the value of the instance variable 'className' (automatically generated)"
-
-    className := something.!
-
-conditionForInclusion
-    "return the value of the instance variable 'conditionForInclusion' (automatically generated)"
-
-    ^ conditionForInclusion!
-
-conditionForInclusion:something
-    "set the value of the instance variable 'conditionForInclusion' (automatically generated)"
-
-    conditionForInclusion := something.! !
-
-!Project::ClassInfo methodsFor:'printing & storing'!
-
-displayString
-    ^ 'ClassInfo: ' , className
-! !
-
-!Project::ClassInfo methodsFor:'queries'!
-
-theClass
-    |cls|
-
-    cls := Smalltalk classNamed:className.
-    cls isNil ifTrue:[ ^ nil].
-    ^ cls
-
-    "Created: / 26.9.1999 / 13:39:00 / cg"
-! !
-
 !Project::MethodInfo methodsFor:'accessing'!
 
 className
@@ -3337,9 +3291,59 @@
     "Created: / 26.9.1999 / 13:39:07 / cg"
 ! !
 
+!Project::ClassInfo methodsFor:'accessing'!
+
+classFileName
+    "return the value of the instance variable 'classFileName' (automatically generated)"
+
+    ^ classFileName!
+
+classFileName:something
+    "set the value of the instance variable 'classFileName' (automatically generated)"
+
+    classFileName := something.!
+
+className
+    "return the value of the instance variable 'className' (automatically generated)"
+
+    ^ className!
+
+className:something
+    "set the value of the instance variable 'className' (automatically generated)"
+
+    className := something.!
+
+conditionForInclusion
+    "return the value of the instance variable 'conditionForInclusion' (automatically generated)"
+
+    ^ conditionForInclusion!
+
+conditionForInclusion:something
+    "set the value of the instance variable 'conditionForInclusion' (automatically generated)"
+
+    conditionForInclusion := something.! !
+
+!Project::ClassInfo methodsFor:'printing & storing'!
+
+displayString
+    ^ 'ClassInfo: ' , className
+! !
+
+!Project::ClassInfo methodsFor:'queries'!
+
+theClass
+    |cls|
+
+    cls := Smalltalk classNamed:className.
+    cls isNil ifTrue:[ ^ nil].
+    ^ cls
+
+    "Created: / 26.9.1999 / 13:39:00 / cg"
+! !
+
 !Project class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/Project.st,v 1.127 1999-10-13 15:04:18 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/Project.st,v 1.128 1999-10-16 11:13:09 cg Exp $'
 ! !
 Project initialize!