Work towards a more complete implementation of `(rnrs io ports)'
authorAndreas Rottmann <a.rottmann@gmx.at>
Sun, 21 Nov 2010 22:17:53 +0000 (23:17 +0100)
committerLudovic Courtès <ludo@gnu.org>
Wed, 24 Nov 2010 22:04:24 +0000 (23:04 +0100)
commita5484153b83b04f8e9bbe392b97904e9493da44e
tree031660914aaf8a3c05797b1ae854060c4705cc52
parent50851f1d182f41ff4fc3a5f2c967231575da4d94
Work towards a more complete implementation of `(rnrs io ports)'

* module/rnrs/io/ports.scm: (file-options, buffer-mode, eol-style)
  (error-handling-mode, make-transcoder, native-transcoder)
  (latin-1-codec, utf-8-codec, utf-16-codec)
  (call-with-bytevector-output-port, open-file-input-port)
  (open-file-output-port, make-custom-textual-output-port)
  (flush-output-port, put-char, put-datum, put-string, get-char)
  (get-datum, get-line, get-string-all, lookahead-char)
  (standard-input-port, standard-output-port, standard-error-port):
  Define all of these.

  (call-with-port): Don't use `dynamic-wind', as it is against its
  specification in R6RS 8.2.6.

* module/rnrs.scm: Export procedures added.

* module/rnrs/io/simple.scm (call-with-input-file)
  (call-with-output-file): Define these in terms of R6RS procedures to
  get correct exception behavior.

Signed-off-by: Ludovic Courtès <ludo@gnu.org>
module/rnrs.scm
module/rnrs/io/ports.scm
module/rnrs/io/simple.scm