Subject: Re: bash-shell output
From: [email-masked] (Elliott A. Lowe)

4 Feb 1998 21:56:00 -0800
Message-ID: <[email-masked]>
Mime-Version: 1.0
Content-Type: text/plain;
	charset="iso-8859-1"
Content-Transfer-Encoding: 7bit
To: <[email-masked]>, "Nils Goesche" <[email-masked]>
Cc: <[email-masked]>

Bash is actually behaving correctly; your printf() call would do the same
thing on Unix.  Since stdout is by default fully line-buffered, any text
that isn't terminated with a newline must be flushed before it will show up.

The way I get around this is to write the prompt to stderr using fprintf(),
since stderr is by default unbuffered.

Elliott

-----Original Message-----
From: Nils Goesche <[email-masked]>
To: [email-masked] <[email-masked]>
Cc: [email-masked] <[email-masked]>
Date: Wednesday, February 04, 1998 4:11 PM
Subject: bash-shell output

>Hi!
>
>The following program doesn't work properly when run from bash
>(with `M-x shell' from within Emacs):
>
>#include <stdio.h>
>
>int main()
>{
> int i;
>
> printf("Enter number: ");
> /* fflush(NULL); */
> scanf("%d", &i);
> printf("Got %d.\n", i);
> return 0;
>}
>
>You have to uncomment that fflush-line. But the usual shells
>like command.com or 4nt don't need that line. This is somewhat
>annoying. Can I at least force the shell somehow to flush
>input/output buffers? Some other programs are just unusable
>because of this behavior.
>
>--
>Nils Goesche
>My obscure opinions are my very own.
>

-
For help on using this list (especially unsubscribing), send a message to
"[email-masked]" with one line of text: "help".