Must treat error-combination specially here to prevent block from
authorChris Hanson <org/chris-hanson/cph>
Fri, 5 Jun 1987 21:36:53 +0000 (21:36 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 5 Jun 1987 21:36:53 +0000 (21:36 +0000)
being marked unsafe.

v7/src/sf/make.scm
v7/src/sf/xform.scm
v8/src/sf/make.scm

index 1340447f6258791228a782deba40a8cb2b039f84..6be9d8ef5249303dea5deb0f29b31cde82992a8b 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/make.scm,v 3.8 1987/05/09 23:23:51 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/make.scm,v 3.9 1987/06/05 21:36:53 cph Exp $
 
 Copyright (c) 1987 Massachusetts Institute of Technology
 
@@ -60,7 +60,7 @@ MIT in each case. |#
     (make-environment
       (define :name "SF")
       (define :version 3)
-      (define :modification 8)
+      (define :modification 9)
       (define :files)
 
       (define :files-lists
index 70bf91727a25e44dfe33e6ff029fa7363e128082..1c4eeb992a557a7f00bbfcfbd85c1a9ee55b4574 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/xform.scm,v 3.3 1987/03/20 23:49:46 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/sf/xform.scm,v 3.4 1987/06/05 21:36:10 cph Exp $
 
 Copyright (c) 1987 Massachusetts Institute of Technology
 
@@ -223,6 +223,15 @@ MIT in each case. |#
        (transform/expression block environment predicate)
        (transform/expression block environment alternative)))))
 
+(define (transform/error-combination block environment expression)
+  (combination-components expression
+    (lambda (operator operands)
+      (combination/make
+       (transform/expression block environment operator)
+       (list (transform/expression block environment (car operands))
+            (transform/expression block environment (cadr operands))
+            (the-environment/make block))))))
+
 (define (transform/in-package block environment expression)
   (in-package-components expression
     (lambda (environment* expression)
@@ -239,11 +248,11 @@ MIT in each case. |#
 (define (transform/sequence block environment expression)
   (sequence/make
    (transform/expressions block environment (sequence-actions expression))))
-
+\f
 (define (transform/the-environment block environment expression)
   (block/unsafe! block)
   (the-environment/make block))
-\f
+
 (define transform/dispatch
   (make-type-dispatcher
    `((,access-type ,transform/access)
@@ -255,6 +264,7 @@ MIT in each case. |#
      (,definition-type ,transform/definition)
      (,delay-type ,transform/delay)
      (,disjunction-type ,transform/disjunction)
+     (,error-combination-type ,transform/error-combination)
      (,in-package-type ,transform/in-package)
      (,lambda-type ,transform/lambda)
      (,open-block-type ,transform/open-block)
index ccca750c91ac4ea0d3aba9d99700af5eb688def0..2d69c630d8c26a7e4b6f64359c312890ab3ec238 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/make.scm,v 3.8 1987/05/09 23:23:51 cph Exp $
+$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v8/src/sf/make.scm,v 3.9 1987/06/05 21:36:53 cph Exp $
 
 Copyright (c) 1987 Massachusetts Institute of Technology
 
@@ -60,7 +60,7 @@ MIT in each case. |#
     (make-environment
       (define :name "SF")
       (define :version 3)
-      (define :modification 8)
+      (define :modification 9)
       (define :files)
 
       (define :files-lists