From: Guillermo J. Rozas <edu/mit/csail/zurich/gjr>
Date: Sat, 13 Nov 1993 02:43:18 +0000 (+0000)
Subject: Split system out of call/cc.
X-Git-Tag: 20090517-FFI~7519
X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=aa26bae26834e990f698bc59412d36caaaa35ae0;p=mit-scheme.git

Split system out of call/cc.
---

diff --git a/v7/src/runtime/site.scm.unix b/v7/src/runtime/site.scm.unix
index 5612560f4..8c0dc0bdf 100644
--- a/v7/src/runtime/site.scm.unix
+++ b/v7/src/runtime/site.scm.unix
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: site.scm.unix,v 1.11 1993/11/13 02:21:15 gjr Exp $
+$Id: site.scm.unix,v 1.12 1993/11/13 02:43:18 gjr Exp $
 
 Copyright (c) 1988-93 Massachusetts Institute of Technology
 
@@ -55,19 +55,22 @@ MIT in each case. |#
 		     (loop (cdr args)))))))))
     (if *call/cc-warn?*
 	(warn "call/cc: Invoking the C compiler:" command-line))
-    (let ((inside (working-directory-pathname))
-	  (outside false))
-      (dynamic-wind
-       (lambda ()
-	 (stop-thread-timer)
-	 (set! outside ((ucode-primitive working-directory-pathname 0)))
-	 ((ucode-primitive set-working-directory-pathname! 1) inside))
-       (lambda ()
-	 ((ucode-primitive system) command-line))
-       (lambda ()
-	 (set! inside ((ucode-primitive working-directory-pathname 0)))
-	 ((ucode-primitive set-working-directory-pathname! 1) outside)
-	 (start-thread-timer))))))
+    (system command-line)))
+
+(define (system command-line)
+  (let ((inside (working-directory-pathname))
+	(outside false))
+    (dynamic-wind
+     (lambda ()
+       (stop-thread-timer)
+       (set! outside ((ucode-primitive working-directory-pathname 0)))
+       ((ucode-primitive set-working-directory-pathname! 1) inside))
+     (lambda ()
+       ((ucode-primitive system) command-line))
+     (lambda ()
+       (set! inside ((ucode-primitive working-directory-pathname 0)))
+       ((ucode-primitive set-working-directory-pathname! 1) outside)
+       (start-thread-timer)))))
 
 ;;; Normalization of various directory structures.