The rationale claims that "It may [be] the
intention of the user that the message is printed to whatever
error port was current when the procedure error-handler
was defined" and suggests the following solution:
(define error-handler
(closed-lambda (msg)
(display msg (current-error-port))
(newline (current-error-port))
'error))
however, this effect can be achieved using the means
that are already present in the language:
(define error-handler
(let ((error-port (current-error-port)))
(lambda (msg)
(display msg error-port)
(newline error-port)
'error)))
While I don't deny that the interface proposed by the SRFI can be useful,
I think that presenting a problem that has a straightforward solution
is confusing and harmful to the presentation.