From 3e45468f6ee895949471bf4f374de528d2575198 Mon Sep 17 00:00:00 2001 From: "Guillermo J. Rozas" Date: Mon, 10 Jun 1991 22:50:46 +0000 Subject: [PATCH] Fix bug in unparse-tail by which (1 quote 2) was printing incorrectly. --- v7/src/runtime/unpars.scm | 35 +++++++++++++++++++---------------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/v7/src/runtime/unpars.scm b/v7/src/runtime/unpars.scm index 61cf6e13d..15cca88e5 100644 --- a/v7/src/runtime/unpars.scm +++ b/v7/src/runtime/unpars.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/unpars.scm,v 14.20 1991/05/15 19:36:18 cph Exp $ +$Header: /Users/cph/tmp/foo/mit-scheme/mit-scheme/v7/src/runtime/unpars.scm,v 14.21 1991/06/10 22:50:46 jinx Exp $ Copyright (c) 1988-91 Massachusetts Institute of Technology @@ -431,22 +431,25 @@ MIT in each case. |# (define (unparse-tail l n) (cond ((pair? l) - (let ((prefix (unparse-list/prefix-pair? l))) - (if prefix - (unparse-list/prefix-pair prefix l) - (let ((method (unparse-list/unparser l))) - (if method - (begin + (let ((prefix )) + (cond #| + ((unparse-list/prefix-pair? l) + => (lambda (prefix) (*unparse-string " . ") - (invoke-user-method method l)) - (begin - (*unparse-char #\space) - (*unparse-object (car l)) - (if (and *unparser-list-breadth-limit* - (>= n *unparser-list-breadth-limit*) - (not (null? (cdr l)))) - (*unparse-string " ...") - (unparse-tail (cdr l) (1+ n))))))))) + (unparse-list/prefix-pair prefix l))) + |# + ((unparse-list/unparser l) + => (lambda (method) + (*unparse-string " . ") + (invoke-user-method method l))) + (else + (*unparse-char #\space) + (*unparse-object (car l)) + (if (and *unparser-list-breadth-limit* + (>= n *unparser-list-breadth-limit*) + (not (null? (cdr l)))) + (*unparse-string " ...") + (unparse-tail (cdr l) (1+ n))))))) ((not (null? l)) (*unparse-string " . ") (*unparse-object l)))) -- 2.25.1