Make EXIT and %EXIT take an optional argument for Scheme to use as
authorArthur Gleckler <edu/mit/csail/zurich/arthur>
Mon, 26 Aug 1991 15:28:38 +0000 (15:28 +0000)
committerArthur Gleckler <edu/mit/csail/zurich/arthur>
Mon, 26 Aug 1991 15:28:38 +0000 (15:28 +0000)
UNIX status code.

v7/src/runtime/global.scm
v8/src/runtime/global.scm

index 257dac448b7b9cc92543b45cde73e5f58242a2a9..e85d9a22123e805a75cf8f99ef6949385c0e7658 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/global.scm,v 14.23 1991/05/06 03:19:29 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/global.scm,v 14.24 1991/08/26 15:28:38 arthur Exp $
 
 Copyright (c) 1988-91 Massachusetts Institute of Technology
 
@@ -173,13 +173,17 @@ MIT in each case. |#
       (if (< (real-time-clock) end)
          (wait-loop)))))
 
-(define (exit)
+(define (exit #!optional integer)
   (if (prompt-for-confirmation "Kill Scheme")
-      (%exit)))
+      (if (default-object? integer)
+         (%exit integer)
+         (%exit))))
 
-(define (%exit)
+(define (%exit #!optional integer)
   (event-distributor/invoke! event:before-exit)
-  ((ucode-primitive exit)))
+  (if (default-object? integer)
+      ((ucode-primitive exit-with-value 1) integer)
+      ((ucode-primitive exit 0))))
 
 (define (quit)
   (with-absolutely-no-interrupts (ucode-primitive halt))
index 1cae48656034d8e49ae0c5511cabed49ee2d7734..92fe1166d8e84793ca014c273e666a73eb459419 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/global.scm,v 14.23 1991/05/06 03:19:29 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/global.scm,v 14.24 1991/08/26 15:28:38 arthur Exp $
 
 Copyright (c) 1988-91 Massachusetts Institute of Technology
 
@@ -173,13 +173,17 @@ MIT in each case. |#
       (if (< (real-time-clock) end)
          (wait-loop)))))
 
-(define (exit)
+(define (exit #!optional integer)
   (if (prompt-for-confirmation "Kill Scheme")
-      (%exit)))
+      (if (default-object? integer)
+         (%exit integer)
+         (%exit))))
 
-(define (%exit)
+(define (%exit #!optional integer)
   (event-distributor/invoke! event:before-exit)
-  ((ucode-primitive exit)))
+  (if (default-object? integer)
+      ((ucode-primitive exit-with-value 1) integer)
+      ((ucode-primitive exit 0))))
 
 (define (quit)
   (with-absolutely-no-interrupts (ucode-primitive halt))