From 814845b140360ffe5637aad7a52ff34cf621293f Mon Sep 17 00:00:00 2001
From: Stephen Adams <edu/mit/csail/zurich/adams>
Date: Mon, 22 Jul 1996 23:12:49 +0000
Subject: [PATCH] Fixed bug in typerew/remember* (it was sometimes returning
 unspecific).

---
 v8/src/compiler/midend/typerew.scm | 18 ++++++++++--------
 1 file changed, 10 insertions(+), 8 deletions(-)

diff --git a/v8/src/compiler/midend/typerew.scm b/v8/src/compiler/midend/typerew.scm
index 5c93b84b9..3aa6a6dc4 100644
--- a/v8/src/compiler/midend/typerew.scm
+++ b/v8/src/compiler/midend/typerew.scm
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: typerew.scm,v 1.17 1996/07/22 18:48:32 adams Exp $
+$Id: typerew.scm,v 1.18 1996/07/22 23:12:49 adams Exp $
 
 Copyright (c) 1994-1996 Massachusetts Institute of Technology
 
@@ -468,7 +468,8 @@ MIT in each case. |#
 (define (typerew/remember* equivalent-subform new-form)
   (let ((info (code-rewrite/original-form new-form)))
     (if info
-	(code-rewrite/remember* equivalent-subform info))))
+	(code-rewrite/remember* equivalent-subform info)
+	equivalent-subform)))
 			  
 
 (define (typerew/new-name prefix)
@@ -1970,12 +1971,13 @@ MIT in each case. |#
 	  (unsafe-mutation (typerew-simple-operator-replacement %mutator)))
 
       (define (make-checked-mutation checks)
-	(typerew-operator-replacement/diamond-3-3-3
-	 (lambda (collection index element)
-	   `(CALL ',%generic-index-check/set! '#F
-		  ,collection ,index ,element (QUOTE ,checks)))
-	 (typerew/->ternary-combination %mutator)
-	 (typerew/->ternary-combination mutator)))
+	(lambda (checks)
+	  (typerew-operator-replacement/diamond-3-3-3
+	   (lambda (collection index element)
+	     `(CALL ',%generic-index-check/set! '#F
+		    ,collection ,index ,element (QUOTE ,checks)))
+	   %mutator
+	   mutator)))
 
       (define-typerew-replacement-method mutator 3
 	(lambda (form collection index element)
-- 
2.25.1