From f8a2fbbc55878414d001d60976e0615e16479e2c Mon Sep 17 00:00:00 2001 From: Arthur Gleckler Date: Mon, 26 Aug 1991 15:28:38 +0000 Subject: [PATCH] Make EXIT and %EXIT take an optional argument for Scheme to use as UNIX status code. --- v7/src/runtime/global.scm | 14 +++++++++----- v8/src/runtime/global.scm | 14 +++++++++----- 2 files changed, 18 insertions(+), 10 deletions(-) diff --git a/v7/src/runtime/global.scm b/v7/src/runtime/global.scm index 257dac448..e85d9a221 100644 --- a/v7/src/runtime/global.scm +++ b/v7/src/runtime/global.scm @@ -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)) diff --git a/v8/src/runtime/global.scm b/v8/src/runtime/global.scm index 1cae48656..92fe1166d 100644 --- a/v8/src/runtime/global.scm +++ b/v8/src/runtime/global.scm @@ -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)) -- 2.25.1