From: Chris Hanson Date: Mon, 10 Feb 1992 15:48:53 +0000 (+0000) Subject: Implement new procedure QUIT-SCHEME. X-Git-Tag: 20090517-FFI~9815 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=337632b2115adbcfbca9bc05bebb5a9ca8108aa9;p=mit-scheme.git Implement new procedure QUIT-SCHEME. --- diff --git a/v7/src/edwin/editor.scm b/v7/src/edwin/editor.scm index 6fdced2b5..067807156 100644 --- a/v7/src/edwin/editor.scm +++ b/v7/src/edwin/editor.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/editor.scm,v 1.213 1992/02/10 12:02:48 cph Exp $ +;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/editor.scm,v 1.214 1992/02/10 15:48:53 cph Exp $ ;;; ;;; Copyright (c) 1986, 1989-92 Massachusetts Institute of Technology ;;; @@ -307,20 +307,21 @@ This does not affect editor errors or evaluation errors." (abort-current-command)) (define (quit-editor-and-signal-error condition) - (call-with-current-continuation - (lambda (continuation) - (within-continuation editor-abort - (lambda () - (set! edwin-continuation continuation) - (error condition)))))) + (quit-editor-and (lambda () (error condition)))) (define (quit-editor) + (quit-editor-and (lambda () *the-non-printing-object*))) + +(define (quit-scheme) + (quit-editor-and (lambda () (quit) (edit)))) + +(define (quit-editor-and thunk) (call-with-current-continuation (lambda (continuation) (within-continuation editor-abort (lambda () (set! edwin-continuation continuation) - *the-non-printing-object*))))) + (thunk)))))) (define (exit-editor) (within-continuation editor-abort reset-editor))