1
Fork 0
mirror of https://git.savannah.gnu.org/git/guile.git synced 2025-05-02 13:00:26 +02:00
guile/module/rnrs
Andreas Rottmann b6a66c21fc Improve R6RS conformance wrt. conditions in the I/O libraries
* module/rnrs/io/ports.scm (open-file-output-port): Handle `no-fail'
  file option.
  (with-i/o-filename-conditions): Use `with-throw-handler' instead of `catch'.
  (with-i/o-port-error,
  with-textual-output-conditions. with-textual-input-conditions): New
  exception-conversion helpers.
  (put-char, put-datum, put-string, display): Use
  `with-textual-output-conditions' instead of `with-i/o-encoding-error'
  to get proper conditions in case of write errors.
  (get-char, get-datum, get-line, get-string-all, lookahead-char):
  Likewise, for the input case.

* test-suite/tests/r6rs-ports.test (pass-if-condition, test-file,
  make-failing-port): New helpers.
  ("8.2.10 Output ports"): Add some tests for `open-file-output-port'.
  ("8.2.9 Textual Input"): Add tests read error conditions.
  ("8.2.12 Textual Output"): Add tests for write error conditions.
  ("8.3 Simple I/O"): Add tests for conditions, `call-with-input-file'
  and `call-with-output-file'.
2011-05-14 19:29:26 +02:00
..
arithmetic (rnrs arithmetic fixnums) fixnum? export a procedure again 2011-04-13 12:50:41 +02:00
io Improve R6RS conformance wrt. conditions in the I/O libraries 2011-05-14 19:29:26 +02:00
records Some tweaks to the R6RS support 2010-11-25 23:04:12 +01:00
base.scm fix assert to return true value. 2011-04-11 18:00:36 +02:00
bytevectors.scm add #:version (6) to rnrs bytevectors and ports 2010-06-02 22:19:40 +02:00
conditions.scm Some tweaks to the R6RS support 2010-11-25 23:04:12 +01:00
control.scm rnrs control only depends on (guile) 2010-12-10 18:04:02 +01:00
enums.scm Enumeration set universe comparisons should be done with `equal?' 2010-11-21 15:35:44 -05:00
eval.scm remove encoding of versions into the file system (for now?) 2010-06-16 22:20:28 +02:00
exceptions.scm install r6rs exception printer 2011-02-11 16:07:44 +01:00
files.scm Reorganize the R6RS I/O condition types 2010-11-24 23:04:24 +01:00
hashtables.scm Fix argument passing for external hash functions in `(rnrs hashtables)'. 2010-07-14 01:16:19 -04:00
lists.scm Explicit definitions for memp' and assp' in `(rnrs list)'; the predicate 2010-08-08 20:23:14 -04:00
mutable-pairs.scm fix ^L typo 2010-06-19 14:45:03 +02:00
mutable-strings.scm typo in mutable-strings 2010-06-19 15:40:25 +02:00
programs.scm remove encoding of versions into the file system (for now?) 2010-06-16 22:20:28 +02:00
r5rs.scm remove encoding of versions into the file system (for now?) 2010-06-16 22:20:28 +02:00
sorting.scm remove encoding of versions into the file system (for now?) 2010-06-16 22:20:28 +02:00
syntax-case.scm Fix make-variable-transformer export 2010-09-19 12:15:37 +02:00
unicode.scm remove encoding of versions into the file system (for now?) 2010-06-16 22:20:28 +02:00