From: Chris Hanson Date: Tue, 16 Feb 1999 20:41:49 +0000 (+0000) Subject: When doing port-type inheritance, don't inherit any standard X-Git-Tag: 20090517-FFI~4620 X-Git-Url: https://birchwood-abbey.net/git?a=commitdiff_plain;h=67722b34ae1287bb4875afd0229aa50f016034c9;p=mit-scheme.git When doing port-type inheritance, don't inherit any standard operations if one or more is given. --- diff --git a/v7/src/runtime/port.scm b/v7/src/runtime/port.scm index c913da9d3..715328155 100644 --- a/v7/src/runtime/port.scm +++ b/v7/src/runtime/port.scm @@ -1,6 +1,6 @@ #| -*-Scheme-*- -$Id: port.scm,v 1.14 1999/02/16 19:43:17 cph Exp $ +$Id: port.scm,v 1.15 1999/02/16 20:41:49 cph Exp $ Copyright (c) 1991-1999 Massachusetts Institute of Technology @@ -328,8 +328,16 @@ Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA. (append operations (if type (list-transform-negative (port-type/operations type) - (lambda (entry) - (assq (car entry) operations))) + (let ((ignored + (append (if (assq 'READ-CHAR operations) + input-operation-names + '()) + (if (assq 'WRITE-CHAR operations) + output-operation-names + '())))) + (lambda (entry) + (or (assq (car entry) operations) + (memq (car entry) ignored))))) '())) procedure-name))) (install-operations! type input?