From feb85af5ec767988ce6e5414e5cae1ebc15b0f74 Mon Sep 17 00:00:00 2001 From: Kaz Kylheku Date: Mon, 14 Mar 2016 06:33:55 -0700 Subject: All stdio streams get line buffering with i mode. * socket.c (open_sockfd): We no longer need to set stream sockets to line buffered mode here; it's done in set_mode_props. * stream.c (set_mode_props): If the mode specifies interactive, streams open for writing are also switched to line buffering. * txr.1: Documented under open-file, and open-socket. --- txr.1 | 19 +++++++++++++++---- 1 file changed, 15 insertions(+), 4 deletions(-) (limited to 'txr.1') diff --git a/txr.1 b/txr.1 index a09f1abe..0953ae26 100644 --- a/txr.1 +++ b/txr.1 @@ -34398,7 +34398,14 @@ is used. The option letter .str i is supported. If present, it will create a stream which has the real-time -property set. +property set. For a description of the semantics, see the +.code real-time-stream-p +function. Briefly, this property affects the semantics of lazy lists which draw +input from the stream. +In addition, for a stream opened for writing or reading and writing, the +.str i +mode letter specifies that the stream will be line-buffered. This means that an +implicit flush operation takes place whenever the newline character is output. .coNP Function @ open-tail .synb @@ -37780,9 +37787,13 @@ data flow, the default mode string is rather than the usual .strn r . -Stream sockets are created line-buffered. Therefore, programs which communicate -using textual, line-oriented protocols over sockets need not execute flush operations -after each line. +Like other stream times, stream sockets are buffered and marked as no +non-real-time streams. Specifying the +.str i +mode in +.metn mode-string +marks a socket as a real-time-stream, and, if it is opened for writing +or reading and writing, changes it to use line buffering. .coNP Functions @ sock-family and @ sock-type .synb -- cgit v1.2.3