From 295c62225b6294def0aa0f2acd4a466a8dd54f09 Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Tue, 30 Jun 1987 19:50:45 +0000 Subject: [PATCH] Fix another bug -- when connecting procedures to vnodes the attachment must be propagated to the forward links. --- v7/src/compiler/fgopt/simapp.scm | 14 ++++++++------ 1 file changed, 8 insertions(+), 6 deletions(-) diff --git a/v7/src/compiler/fgopt/simapp.scm b/v7/src/compiler/fgopt/simapp.scm index 7079b6bca..e874b5af2 100644 --- a/v7/src/compiler/fgopt/simapp.scm +++ b/v7/src/compiler/fgopt/simapp.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/fgopt/simapp.scm,v 1.1 1987/06/09 19:52:58 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/fgopt/simapp.scm,v 1.2 1987/06/30 19:50:45 cph Exp $ Copyright (c) 1987 Massachusetts Institute of Technology @@ -112,11 +112,13 @@ MIT in each case. |# (let ((procedures (vnode-initial-procedures vnode))) (if (not (memq procedure procedures)) (set-vnode-initial-procedures! vnode (cons procedure procedures)))) - (let ((procedures (vnode-procedures-cache vnode))) - (if (not (memq procedure procedures)) - (begin (enqueue-nodes! (vnode-combinations vnode)) - (set-vnode-procedures-cache! vnode - (cons procedure procedures)))))) + (let loop ((vnode vnode)) + (let ((procedures (vnode-procedures-cache vnode))) + (if (not (memq procedure procedures)) + (begin (enqueue-nodes! (vnode-combinations vnode)) + (set-vnode-procedures-cache! vnode + (cons procedure procedures)) + (for-each loop (vnode-forward-links vnode))))))) (define (vnode-connect!:vnode from) (define (self to) -- 2.25.1