[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Chicken-users] with-*-*-port
From: |
Joerg F. Wittenberger |
Subject: |
[Chicken-users] with-*-*-port |
Date: |
28 Feb 2003 13:44:12 +0100 |
Hi all,
I found the code in extras.scm to be the reason for strange
redirection of i/o upon exeptions. Still without reasonable network
connection here again the better version instead of a proper diff.
Sorry.
/Jörg
;;; Redirect standard ports:
(define with-input-from-port
(let ((values values))
(lambda (port thunk)
(let ((old ##sys#standard-input))
(##sys#dynamic-wind
(lambda () (set! ##sys#standard-input port))
thunk
(lambda () (set! ##sys#standard-input old))) ) ) ) )
(define with-output-to-port
(let ((values values))
(lambda (port thunk)
(let ((old ##sys#standard-output))
(##sys#dynamic-wind
(lambda () (set! ##sys#standard-output port))
thunk
(lambda () (set! ##sys#standard-output old))) ) ) ) )
(define with-error-output-to-port
(let ((values values))
(lambda (port thunk)
(let ((old ##sys#standard-error))
(##sys#dynamic-wind
(lambda () (set! ##sys#standard-error port))
thunk
(lambda () (set! ##sys#standard-error old))) ) ) ) )
--
The worst of harm may often result from the best of intentions.
- [Chicken-users] with-*-*-port,
Joerg F. Wittenberger <=