Merge remote-tracking branch 'origin/stable-2.0'
[bpt/guile.git] / module / rnrs / files.scm
index e6851d0..447b8b3 100644 (file)
           (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))
 )