> - How are error situations handled?
By raising an exception, just as with all other I/O.
If my reading is correct, the
> user-supplied read! and write! procedures should return zero
> (bytes/characters read/written) on error.
I'm not sure why you think that. Please point to the misleading language and I'll fix it.
> - What about object ports (i.e. ports where the fundamental unit or
> reading/writing is an arbitrary Scheme object, not a character or a
> byte) - too complex for this SRFI?
I know a few Schemes have this, but IMO the main use of making something a port is to allow the R7RS-small and related high-level I/O procedures (especially read, read-string, read-line, write, and display) to operate on it. Object ports are really just generators and accumulators.