chicken-users
[Top][All Lists]
Advanced

[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.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]