From: Guillermo J. Rozas Date: Sat, 29 Jan 1994 22:40:46 +0000 (+0000) Subject: WITH-REAL-WORKING-DIRECTORY-PATHNAME must really change the X-Git-Tag: 20090517-FFI~7306 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=246024cf3e9ae42a6e90351e97bd45ccc9957efe;p=mit-scheme.git WITH-REAL-WORKING-DIRECTORY-PATHNAME must really change the microcode's working directory pathname. --- diff --git a/v7/src/edwin/dos.scm b/v7/src/edwin/dos.scm index df9da490a..75700e04b 100644 --- a/v7/src/edwin/dos.scm +++ b/v7/src/edwin/dos.scm @@ -1,8 +1,8 @@ ;;; -*-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 @@ -474,18 +474,20 @@ Includes the new backup. Must be > 0." 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