;;; -*-Scheme-*-
;;;
-;;; $Id: dos.scm,v 1.12 1993/10/26 23:15:25 cph Exp $
+;;; $Id: dos.scm,v 1.13 1994/01/29 22:40:46 gjr Exp $
;;;
-;;; Copyright (c) 1992-1993 Massachusetts Institute of Technology
+;;; Copyright (c) 1992-1994 Massachusetts Institute of Technology
;;;
;;; This material was developed by the Scheme project at the
;;; Massachusetts Institute of Technology, Department of
true)
(define (os/quit dir)
- (without-interrupts
- (lambda ()
- (with-real-working-directory-pathname dir %quit))))
+ (with-real-working-directory-pathname dir %quit))
(define (with-real-working-directory-pathname dir thunk)
(let ((inside dir)
(outside false))
- (dynamic-wind
- (lambda ()
- (set! outside (working-directory-pathname))
- (set-working-directory-pathname! inside))
- thunk
- (lambda ()
- (set! inside (working-directory-pathname))
- (set-working-directory-pathname! outside)))))
\ No newline at end of file
+ (without-interrupts
+ (lambda ()
+ (dynamic-wind
+ (lambda ()
+ (set! outside (working-directory-pathname))
+ (set-working-directory-pathname! inside)
+ ((ucode-primitive set-working-directory-pathname! 1) inside))
+ thunk
+ (lambda ()
+ (set! inside (working-directory-pathname))
+ ((ucode-primitive set-working-directory-pathname! 1) outside)
+ (set-working-directory-pathname! outside)))))))
\ No newline at end of file