diff options
author | Andreas Rottmann <a.rottmann@gmx.at> | 2010-11-21 23:17:52 +0100 |
---|---|---|
committer | Ludovic Courtès <ludo@gnu.org> | 2010-11-24 23:04:24 +0100 |
commit | 50851f1d182f41ff4fc3a5f2c967231575da4d94 (patch) | |
tree | 38794e0e340ffebeb5adaf92eeb274e3a61b3af8 /module/rnrs/files.scm | |
parent | baa5705ca726c261c9aa37d3b9af52f3949690ac (diff) | |
download | guile-50851f1d182f41ff4fc3a5f2c967231575da4d94.tar.gz |
Reorganize the R6RS I/O condition types
Move the I/O condition types from `(rnrs conditions)', where they were
not exported, to `(rnrs files)', where they are.
* module/rnrs/conditions.scm: Remove definition of I/O condition types.
* module/rnrs/files.scm: Replace references to I/O condition types
inside `(rnrs conditions)' with the actual definitions.
* module/rnrs/io/simple.scm: Don't `@@'-reference the I/O condition types, just
imported them from `(rnrs files)'.
Signed-off-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'module/rnrs/files.scm')
-rw-r--r-- | module/rnrs/files.scm | 81 |
1 files changed, 26 insertions, 55 deletions
diff --git a/module/rnrs/files.scm b/module/rnrs/files.scm index e6851d0ec..447b8b3a4 100644 --- a/module/rnrs/files.scm +++ b/module/rnrs/files.scm @@ -67,59 +67,30 @@ (lambda () (delete-file-internal filename)) (lambda (key . args) (raise (make-i/o-filename-error filename))))) - (define &i/o (@@ (rnrs conditions) &i/o)) - (define make-i/o-error (@@ (rnrs conditions) make-i/o-error)) - (define i/o-error? (@@ (rnrs conditions) i/o-error?)) - - (define &i/o-read (@@ (rnrs conditions) &i/o-read)) - (define make-i/o-read-error (@@ (rnrs conditions) make-i/o-read-error)) - (define i/o-read-error? (@@ (rnrs conditions) i/o-read-error?)) - - (define &i/o-write (@@ (rnrs conditions) &i/o-write)) - (define make-i/o-write-error (@@ (rnrs conditions) make-i/o-write-error)) - (define i/o-write-error? (@@ (rnrs conditions) i/o-write-error?)) - - (define &i/o-invalid-position (@@ (rnrs conditions) &i/o-invalid-position)) - (define make-i/o-invalid-position-error - (@@ (rnrs conditions) make-i/o-invalid-position-error)) - (define i/o-invalid-position-error? - (@@ (rnrs conditions) i/o-invalid-position-error?)) - (define i/o-error-position (@@ (rnrs conditions) i/o-error-position)) - - (define &i/o-filename (@@ (rnrs conditions) &i/o-filename)) - (define make-i/o-filename-error - (@@ (rnrs conditions) make-i/o-filename-error)) - (define i/o-filename-error? (@@ (rnrs conditions) i/o-filename-error?)) - (define i/o-error-filename (@@ (rnrs conditions) i/o-error-filename)) - - (define &i/o-file-protection (@@ (rnrs conditions) &i/o-file-protection)) - (define make-i/o-file-protection-error - (@@ (rnrs conditions) make-i/o-file-protection-error)) - (define i/o-file-protection-error? - (@@ (rnrs conditions) i/o-file-protection-error?)) - - (define &i/o-file-is-read-only (@@ (rnrs conditions) &i/o-file-is-read-only)) - (define make-i/o-file-is-read-only-error - (@@ (rnrs conditions) make-i/o-file-is-read-only-error)) - (define i/o-file-is-read-only-error? - (@@ (rnrs conditions) i/o-file-is-read-only-error?)) - - (define &i/o-file-already-exists - (@@ (rnrs conditions) &i/o-file-already-exists)) - (define make-i/o-file-already-exists-error - (@@ (rnrs conditions) make-i/o-file-already-exists-error)) - (define i/o-file-already-exists-error? - (@@ (rnrs conditions) i/o-file-already-exists-error?)) - - (define &i/o-file-does-not-exist - (@@ (rnrs conditions) &i/o-file-does-not-exist)) - (define make-i/o-file-does-not-exist-error - (@@ (rnrs conditions) make-i/o-file-does-not-exist-error)) - (define i/o-file-does-not-exist-error? - (@@ (rnrs conditions) i/o-file-does-not-exist-error?)) - - (define &i/o-port (@@ (rnrs conditions) &i/o-port)) - (define make-i/o-port-error (@@ (rnrs conditions) make-i/o-port-error)) - (define i/o-port-error? (@@ (rnrs conditions) i/o-port-error?)) - (define i/o-error-port (@@ (rnrs conditions) i/o-error-port)) + ;; Condition types that are used by (rnrs files), (rnrs io ports), and + ;; (rnrs io simple). These are defined here so as to be easily shareable by + ;; these three libraries. + + (define-condition-type &i/o &error make-i/o-error i/o-error?) + (define-condition-type &i/o-read &i/o make-i/o-read-error i/o-read-error?) + (define-condition-type &i/o-write &i/o make-i/o-write-error i/o-write-error?) + (define-condition-type &i/o-invalid-position + &i/o make-i/o-invalid-position-error i/o-invalid-position-error? + (position i/o-error-position)) + (define-condition-type &i/o-filename + &i/o make-i/o-filename-error i/o-filename-error? + (filename i/o-error-filename)) + (define-condition-type &i/o-file-protection + &i/o-filename make-i/o-file-protection-error i/o-file-protection-error?) + (define-condition-type &i/o-file-is-read-only + &i/o-file-protection make-i/o-file-is-read-only-error + i/o-file-is-read-only-error?) + (define-condition-type &i/o-file-already-exists + &i/o-filename make-i/o-file-already-exists-error + i/o-file-already-exists-error?) + (define-condition-type &i/o-file-does-not-exist + &i/o-filename make-i/o-file-does-not-exist-error + i/o-file-does-not-exist-error?) + (define-condition-type &i/o-port &i/o make-i/o-port-error i/o-port-error? + (port i/o-error-port)) ) |