#| -*-Scheme-*-
-$Id: fileio.scm,v 1.174 2008/07/23 11:12:34 cph Exp $
+$Id: fileio.scm,v 1.175 2009/03/21 16:50:25 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(lambda (port)
(if (not translate?)
(port/set-line-ending port 'NEWLINE))
- (group-write-to-port group start end port))))
+ (group-write-to-port group start end port)
+ (output-port/synchronize-output port))))
(define (group-append-to-file translate? group start end filename)
(call-with-append-file filename
(lambda (port)
(if (not translate?)
(port/set-line-ending port 'NEWLINE))
- (group-write-to-port group start end port))))
+ (group-write-to-port group start end port)
+ (output-port/synchronize-output port))))
(define (group-write-to-port group start end port)
(%group-write group start end
#| -*-Scheme-*-
-$Id: genio.scm,v 1.70 2008/09/17 06:24:32 cph Exp $
+$Id: genio.scm,v 1.71 2009/03/21 16:50:26 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(OUTPUT-CHANNEL ,generic-io/output-channel)
(OUTPUT-TERMINAL-MODE ,generic-io/output-terminal-mode)
(SET-OUTPUT-BLOCKING-MODE ,generic-io/set-output-blocking-mode)
- (SET-OUTPUT-TERMINAL-MODE ,generic-io/set-output-terminal-mode)))
+ (SET-OUTPUT-TERMINAL-MODE ,generic-io/set-output-terminal-mode)
+ (SYNCHRONIZE-OUTPUT ,generic-io/synchronize-output)))
(other-operations
`((CLOSE ,generic-io/close)
(CODING ,generic-io/coding)
((#F) unspecific)
(else (error:wrong-type-datum mode "terminal mode"))))))
+(define (generic-io/synchronize-output port)
+ (let ((channel (generic-io/output-channel port)))
+ (if channel
+ (channel-synchronize channel))))
+
(define (generic-io/buffered-output-bytes port)
(output-buffer-start (port-output-buffer port)))
#| -*-Scheme-*-
-$Id: output.scm,v 14.44 2008/07/26 07:01:34 cph Exp $
+$Id: output.scm,v 14.45 2009/03/21 16:50:26 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
(let ((operation (port/operation port 'BYTES-WRITTEN)))
(and operation
(operation port))))
+
+(define (output-port/synchronize-output port)
+ (let ((operation (port/operation port 'SYNCHRONIZE-OUTPUT)))
+ (if operation
+ (operation port))))
\f
;;;; High level
#| -*-Scheme-*-
-$Id: runtime.pkg,v 14.690 2009/03/21 07:09:09 riastradh Exp $
+$Id: runtime.pkg,v 14.691 2009/03/21 16:50:26 riastradh Exp $
Copyright (C) 1986, 1987, 1988, 1989, 1990, 1991, 1992, 1993, 1994,
1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002, 2003, 2004, 2005,
output-port/flush-output
output-port/fresh-line
output-port/line-start?
+ output-port/synchronize-output
output-port/write-char
output-port/write-object
output-port/write-string