From: Arthur Gleckler Date: Thu, 12 Sep 1991 23:31:52 +0000 (+0000) Subject: Make EVALUATE-REGION return the value of the last expression it X-Git-Tag: 20090517-FFI~10214 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=efe430b248adb120aeb70479c810b0ab1ae77bd6;p=mit-scheme.git Make EVALUATE-REGION return the value of the last expression it evaluates, or the value of UNSPECIFIC if there are no expressions. It had been returning UNSPECIFIC always, but the Edwin Debugger needs to be able to find out the value of an evaluation after going through the standard evaluation mechanism (for the purposes of the CONTINUATION-BROWSER-RETURN-FROM, CONTINUATION-BROWSER-RETURN-TO, and CONTINUATION-BROWSER-RETRY debugger commands). --- diff --git a/v7/src/edwin/evlcom.scm b/v7/src/edwin/evlcom.scm index 31c085974..7cac50cef 100644 --- a/v7/src/edwin/evlcom.scm +++ b/v7/src/edwin/evlcom.scm @@ -1,6 +1,6 @@ ;;; -*-Scheme-*- ;;; -;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/evlcom.scm,v 1.28 1991/08/28 22:28:42 arthur Exp $ +;;; $Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/edwin/evlcom.scm,v 1.29 1991/09/12 23:31:52 arthur Exp $ ;;; ;;; Copyright (c) 1986, 1989-91 Massachusetts Institute of Technology ;;; @@ -259,13 +259,13 @@ may be available. The following commands are special to this mode: evaluation-error-handler (letrec ((loop - (lambda () + (lambda (result) (let ((sexp (read))) - (if (not (eof-object? sexp)) - (begin - (editor-eval sexp environment) - (loop))))))) - loop)))))) + (if (eof-object? sexp) + result + (loop (editor-eval sexp environment))))))) + (lambda () + (loop unspecific)))))))) (define (evaluation-environment argument) (let ((->environment