class: ReadEvalPrintLoop
changed: #cmd_use:
#loadPackage: now raises PackageLoadError on failure
--- 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 $'
! !