class: ReadEvalPrintLoop
authorStefan Vogel <sv@exept.de>
Tue, 25 Feb 2014 14:29:42 +0100
changeset 16145 8687a6524d21
parent 16144 3bde1ed36852
child 16146 1637eb12dc30
class: ReadEvalPrintLoop changed: #cmd_use: #loadPackage: now raises PackageLoadError on failure
ReadEvalPrintLoop.st
--- a/ReadEvalPrintLoop.st	Tue Feb 25 14:27:26 2014 +0100
+++ b/ReadEvalPrintLoop.st	Tue Feb 25 14:29:42 2014 +0100
@@ -12,12 +12,12 @@
 "{ Package: 'stx:libbasic' }"
 
 Object subclass:#ReadEvalPrintLoop
-	instanceVariableNames:'inputStream outputStream errorStream compiler prompt
-		doChunkFormat traceFlag timingFlag printFlag exitAction
-		currentDirectory'
-	classVariableNames:''
-	poolDictionaries:''
-	category:'System-Support'
+        instanceVariableNames:'inputStream outputStream errorStream compiler prompt
+                doChunkFormat traceFlag timingFlag printFlag exitAction
+                currentDirectory'
+        classVariableNames:''
+        poolDictionaries:''
+        category:'System-Support'
 !
 
 !ReadEvalPrintLoop class methodsFor:'documentation'!
@@ -369,7 +369,7 @@
 !
 
 cmd_use:lineStream
-    |pkg ok|
+    |pkg|
 
     lineStream skipSeparators.
     pkg := lineStream upToEnd.
@@ -383,16 +383,18 @@
         ^ self.
     ].
 
-    (ok := Smalltalk loadPackage:pkg) ifFalse:[
+    [
+        Smalltalk loadPackage:pkg.
+    ] on:PackageLoadError do:[:ex|
         "/ allow for some shortcuts...
-        (pkg includes:$:) ifFalse:[
+        (pkg includes:$:) ifTrue:[
+            self errorStream nextPutLine:('Failed to load package: "',pkg,'"').
+        ] ifFalse:[
             "/ try stx standard package
-            ok := Smalltalk loadPackage:('stx:',pkg)
+            pkg := 'stx:', pkg.
+            ex restart.
         ].
     ].
-    ok ifFalse:[
-        self errorStream nextPutLine:('Failed to load package: "',pkg,'"').
-    ].
 
     "Created: / 07-12-2006 / 19:07:56 / cg"
 !
@@ -588,10 +590,10 @@
 !ReadEvalPrintLoop class methodsFor:'documentation'!
 
 version
-    ^ '$Header: /cvs/stx/stx/libbasic/ReadEvalPrintLoop.st,v 1.50 2014-02-25 10:37:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ReadEvalPrintLoop.st,v 1.51 2014-02-25 13:29:42 stefan Exp $'
 !
 
 version_CVS
-    ^ '$Header: /cvs/stx/stx/libbasic/ReadEvalPrintLoop.st,v 1.50 2014-02-25 10:37:05 cg Exp $'
+    ^ '$Header: /cvs/stx/stx/libbasic/ReadEvalPrintLoop.st,v 1.51 2014-02-25 13:29:42 stefan Exp $'
 ! !