Export port-property operations. Make sure 'transcript property is
authorChris Hanson <org/chris-hanson/cph>
Fri, 24 Feb 2006 17:42:51 +0000 (17:42 +0000)
committerChris Hanson <org/chris-hanson/cph>
Fri, 24 Feb 2006 17:42:51 +0000 (17:42 +0000)
removed when not in use.

v7/src/runtime/port.scm
v7/src/runtime/runtime.pkg

index 6dffc1f8c25ab4ee811466e82b993acfdd45f2bf..61f375e6e5213c9a0521007c1292c7688806023a 100644 (file)
@@ -1,9 +1,9 @@
 #| -*-Scheme-*-
 
-$Id: port.scm,v 1.41 2005/12/31 15:43:42 cph Exp $
+$Id: port.scm,v 1.42 2006/02/24 17:42:50 cph Exp $
 
 Copyright 1991,1992,1993,1994,1997,1999 Massachusetts Institute of Technology
-Copyright 2001,2002,2003,2004,2005 Massachusetts Institute of Technology
+Copyright 2001,2002,2003,2004,2005,2006 Massachusetts Institute of Technology
 
 This file is part of MIT/GNU Scheme.
 
@@ -635,11 +635,17 @@ USA.
          (set-cdr! p value)
          (set-port/properties! port (cons (cons name value) alist))))))
 
+(define (port/remove-property! port name)
+  (guarantee-symbol name 'PORT/REMOVE-PROPERTY!)
+  (set-port/properties! port (del-assq! name (port/properties port))))
+
 (define (port/transcript port)
   (port/get-property port 'TRANSCRIPT #f))
 
 (define (set-port/transcript! port tport)
-  (port/set-property! port 'TRANSCRIPT tport))
+  (if tport
+      (port/set-property! port 'TRANSCRIPT tport)
+      (port/remove-property! port 'TRANSCRIPT)))
 
 (define (transcribe-char char port)
   (let ((tport (port/transcript port)))
index 899b8c89150c1159082c8cb5a0d05fa3bdf94764..94901643f2c18a6654907ec99b119e2f3cf1881c 100644 (file)
@@ -1,6 +1,6 @@
 #| -*-Scheme-*-
 
-$Id: runtime.pkg,v 14.573 2006/02/02 01:02:07 cph Exp $
+$Id: runtime.pkg,v 14.574 2006/02/24 17:42:51 cph Exp $
 
 Copyright 1988,1989,1990,1991,1992,1993 Massachusetts Institute of Technology
 Copyright 1994,1995,1996,1997,1998,1999 Massachusetts Institute of Technology
@@ -1907,6 +1907,7 @@ USA.
          port-type?
          port/coding
          port/copy
+         port/get-property
          port/input-blocking-mode
          port/input-channel
          port/input-terminal-mode
@@ -1920,12 +1921,14 @@ USA.
          port/output-blocking-mode
          port/output-channel
          port/output-terminal-mode
+         port/remove-property!
          port/set-coding
          port/set-input-blocking-mode
          port/set-input-terminal-mode
          port/set-line-ending
          port/set-output-blocking-mode
          port/set-output-terminal-mode
+         port/set-property!
          port/state
          port/supports-coding?
          port/thread-mutex