From: sybok Date: Mon, 2 Sep 1991 03:24:33 +0000 (+0000) Subject: The addition of "without-stepping" as it was changed the operation of X-Git-Tag: 20090517-FFI~10253 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=005f221b88c5ac0b0bbf5f60e51f48d68e4d9aaa;p=mit-scheme.git The addition of "without-stepping" as it was changed the operation of scheme so as to prevent my error handling code in the stepper from working right. Thus, I've added a procedure, stepping-off!, which one may call in the action thunk in order to cause without-stepping to permanently terminate stepping. --- diff --git a/v7/src/runtime/global.scm b/v7/src/runtime/global.scm index 0382bf483..03e69d1c9 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.28 1991/08/28 13:19:53 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/global.scm,v 14.29 1991/09/02 03:24:33 sybok Exp $ Copyright (c) 1988-91 Massachusetts Institute of Technology @@ -263,6 +263,8 @@ MIT in each case. |# ;; encountered on each entry to the thunk. It might be better to ;; restore the hooks to the initial state. I flipped a coin. +(define *old-hook-storage-environment*) + (let-syntax ((ufixed-objects-slot (macro (name) (fixed-objects-vector-slot name)))) @@ -274,6 +276,7 @@ MIT in each case. |# (let ((old-stepper-hooks) (null-hooks (hunk3-cons #f #f #f))) + (set! *old-hook-storage-environment* (the-environment)) (dynamic-wind (lambda () (set! old-stepper-hooks (get-stepper-hooks)) @@ -285,4 +288,7 @@ MIT in each case. |# ((ucode-primitive primitive-return-step 2) unspecific (or old-stepper-hooks - null-hooks))))))) \ No newline at end of file + null-hooks))))))) + +(define (stepping-off!) + (set! (access old-stepper-hooks *old-hook-storage-environment*) null-hooks)) diff --git a/v8/src/runtime/global.scm b/v8/src/runtime/global.scm index e3c708142..fb2e56cbe 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.28 1991/08/28 13:19:53 jinx Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/runtime/global.scm,v 14.29 1991/09/02 03:24:33 sybok Exp $ Copyright (c) 1988-91 Massachusetts Institute of Technology @@ -263,6 +263,8 @@ MIT in each case. |# ;; encountered on each entry to the thunk. It might be better to ;; restore the hooks to the initial state. I flipped a coin. +(define *old-hook-storage-environment*) + (let-syntax ((ufixed-objects-slot (macro (name) (fixed-objects-vector-slot name)))) @@ -274,6 +276,7 @@ MIT in each case. |# (let ((old-stepper-hooks) (null-hooks (hunk3-cons #f #f #f))) + (set! *old-hook-storage-environment* (the-environment)) (dynamic-wind (lambda () (set! old-stepper-hooks (get-stepper-hooks)) @@ -285,4 +288,7 @@ MIT in each case. |# ((ucode-primitive primitive-return-step 2) unspecific (or old-stepper-hooks - null-hooks))))))) \ No newline at end of file + null-hooks))))))) + +(define (stepping-off!) + (set! (access old-stepper-hooks *old-hook-storage-environment*) null-hooks))