From 953a5968726d43ecf18af2336666f173affcf22c Mon Sep 17 00:00:00 2001 From: Chris Hanson Date: Thu, 11 Aug 1988 20:13:27 +0000 Subject: [PATCH] Be more specific about what kind of combination is considered to be an `error-combination'. --- v7/src/compiler/fggen/fggen.scm | 19 ++++++++++++++----- 1 file changed, 14 insertions(+), 5 deletions(-) diff --git a/v7/src/compiler/fggen/fggen.scm b/v7/src/compiler/fggen/fggen.scm index 0cc6b9181..bbf71baff 100644 --- a/v7/src/compiler/fggen/fggen.scm +++ b/v7/src/compiler/fggen/fggen.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/fggen/fggen.scm,v 4.7 1988/07/20 00:08:42 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/compiler/fggen/fggen.scm,v 4.8 1988/08/11 20:13:27 cph Exp $ Copyright (c) 1988 Massachusetts Institute of Technology @@ -733,10 +733,19 @@ MIT in each case. |# (the-environment? (car operands)) (scode/symbol? (cadr operands))) (generate/unassigned? block continuation expression)) - ((or (eq? operator (ucode-primitive error-procedure)) - (and (scode/absolute-reference? operator) - (eq? (scode/absolute-reference-name operator) - 'ERROR-PROCEDURE))) + ((and (or (eq? operator (ucode-primitive error-procedure)) + (and (scode/absolute-reference? operator) + (eq? (scode/absolute-reference-name operator) + 'ERROR-PROCEDURE))) + (let ((irritants (cadr operands))) + (or (null? irritants) + (and (scode/absolute-combination? irritants) + (eq? (scode/absolute-combination-name + irritants) + 'LIST)) + (and (scode/combination? irritants) + (eq? (scode/combination-operator irritants) + cons))))) (generate/error-combination block continuation expression)) (else (generate/combination block continuation expression)))))) -- 2.25.1