[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Help-smalltalk] [PATCH] Make PackageNotAvailable public
From: |
Paolo Bonzini |
Subject: |
[Help-smalltalk] [PATCH] Make PackageNotAvailable public |
Date: |
Thu, 27 Dec 2007 11:26:45 +0100 |
User-agent: |
Thunderbird 2.0.0.9 (Macintosh/20071031) |
Thomas pointed out offlist that PackageNotAvailable is not used
everywhere, and that it is not in the public SystemExceptions namespace.
This patch fixes both. I'll run a 'make distcheck' before committing.
Paolo
* looking for address@hidden/smalltalk--devo--2.2--patch-679 to compare with
* comparing to address@hidden/smalltalk--devo--2.2--patch-679
M ChangeLog
M kernel/PkgLoader.st
* modified files
--- orig/ChangeLog
+++ mod/ChangeLog
@@ -1,3 +1,8 @@
+2007-12-27 Paolo Bonzini <address@hidden>
+
+ * kernel/PkgLoader.st: Move PackageNotAvailable to SystemExceptions
+ namespace. Raise it instead of Error when appropriate.
+
2007-12-20 Paolo Bonzini <address@hidden>
* kernel/Collection.st: Add #readStream.
--- orig/kernel/PkgLoader.st
+++ mod/kernel/PkgLoader.st
@@ -44,12 +44,24 @@ Notification subclass: PackageSkip [
-Namespace current: Kernel [
+Namespace current: SystemExceptions [
-Exception subclass: PackageNotAvailable [
+NotFound subclass: PackageNotAvailable [
<category: 'Language-Packaging'>
<comment: nil>
+
+ PackageNotAvailable class >> signal: aString [
+ ^super signalOn: aString what: 'package'
+ ]
+
+ isResumable [
+ "Answer true. Package unavailability is resumable, because the
+ package files might just lie elsewhere."
+
+ <category: 'description'>
+ ^true
+ ]
]
]
@@ -84,7 +96,7 @@ XML.'>
at: aString [
<category: 'accessing'>
- ^self at: aString ifAbsent: [self error: 'package not found']
+ ^self at: aString ifAbsent: [PackageNotAvailable signal: aString]
]
at: aString ifAbsent: aBlock [
@@ -324,7 +336,7 @@ XML.'>
file := [FileStream open: fileName mode: FileStream read] on: Error
do: [:ex | ^self].
- [[self parse: file] on: PackageNotAvailable
+ [[self parse: file] on: SystemExceptions.PackageNotAvailable
do: [:ex | ex resignalAs: PackageSkip new]]
ensure: [file close].
packages := packages reject: [:each | each isDisabled]
@@ -1104,7 +1116,7 @@ XML.'>
"TODO: should put the name and baseDirectories into the exception."
"name printNl. baseDirectories printNl."
- PackageNotAvailable signal: self
+ SystemExceptions.PackageNotAvailable signal: self name
]
directory [
@@ -1117,7 +1129,7 @@ XML.'>
| name |
name := Directory append: self relativeDirectory to: dir.
(Directory exists: name) ifTrue: [^name]].
- PackageNotAvailable signal: self
+ SystemExceptions.PackageNotAvailable signal: self name
]
relativeDirectory [
@@ -1486,7 +1498,7 @@ into a Smalltalk image, correctly handli
packagesList isEmpty ifTrue: [^self].
self refresh.
toBeLoaded := root extractDependenciesFor: packagesList
- ifMissing: [:name | ^self error: 'package not available: '
, name].
+ ifMissing: [:name | SystemExceptions.PackageNotAvailable
signal: name].
toBeLoaded do:
[:each |
OutputVerbosity > 0
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Help-smalltalk] [PATCH] Make PackageNotAvailable public,
Paolo Bonzini <=