From: Chris Hanson Date: Fri, 21 Oct 1988 00:15:37 +0000 (+0000) Subject: Fix bug in `disk-save': when the IDENTIFY argument is #F, we should X-Git-Tag: 20090517-FFI~12496 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=ef6cf4a7a4c2c83d38f5ffd9955a5b629e1fe41b;p=mit-scheme.git Fix bug in `disk-save': when the IDENTIFY argument is #F, we should return #F just after the save, and #T after a restore. --- diff --git a/v7/src/runtime/savres.scm b/v7/src/runtime/savres.scm index c66e00931..1e9b65008 100644 --- a/v7/src/runtime/savres.scm +++ b/v7/src/runtime/savres.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/savres.scm,v 14.4 1988/08/15 23:05:26 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/savres.scm,v 14.5 1988/10/21 00:15:37 cph Exp $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -43,7 +43,7 @@ MIT in each case. |# ;;; ;;; [] Not supplied => ^G on restore (normal for saving band). ;;; [] String => New world ID message, and ^G on restore. -;;; [] #F => Returns normally on restore. +;;; [] #F => Returns normally on restore; value is true iff restored. ;;; [] Otherwise => Returns normally, running `event:after-restart'. ;;; ;;; The image saved by DISK-SAVE does not include the "microcode", the @@ -66,22 +66,24 @@ MIT in each case. |# (save-image filename (lambda () (set! time-world-saved time) - unspecific) + (if (false? identify) + false + unspecific)) (lambda () (set! time-world-saved time) (event-distributor/invoke! event:after-restore) - (if (string? identify) - (begin - (set! world-identification identify) - (clear console-output-port) - (abort->top-level - (lambda (cmdl) - (identify-world cmdl) - (event-distributor/invoke! event:after-restart)))) - (begin - (if identify - (event-distributor/invoke! event:after-restart)) - unspecific))))))) + (cond ((false? identify) + true) + ((string? identify) + (set! world-identification identify) + (clear console-output-port) + (abort->top-level + (lambda (cmdl) + (identify-world cmdl) + (event-distributor/invoke! event:after-restart)))) + (else + (event-distributor/invoke! event:after-restart) + unspecific))))))) (define (disk-save/kernel filename after-suspend after-restore) ((without-interrupts