On 6/19/06, Bram Moolenaar <[EMAIL PROTECTED]> wrote:

Yakov Lerner wrote:
> After the following patch, the output is better. Two out of
> three 'readonly' lines are now in place.
>
> --- message.c.000       2006-06-19 02:49:34.000000000 +0300
> +++ message.c   2006-06-19 02:52:41.000000000 +0300
> @@ -2767,6 +2767,7 @@
>             )
>      {
>         printf("%s", str);
> +        fflush(stdout);
>         return;
>      }
>  # endif
>

It doesn't happen for me, thus something in your setup must somehow
change it.  I see the "readonly" in the right place, both for Vim 6 and
Vim 7.

Bram,
Strange. Is stdout unbuffered on your OS ?

On Linux/glibc, stdout is line-buffered (but stderr is unbuffered).
I think this is per posix.

The the following test
   #include <stdio.h>
   main() {
       printf("readonly "); fprintf(stderr,"before delay\n");
       sleep(4); return 0;
   }
prints the following on Linux:
   before delay
   readonly
because stdout is line-buffered (flushed on exit in this case).

Does it print "readonly before delay" on your OS ? That would
mean that stdout is totally unbuffered on your OS unlike on Linux.

Yakov

Reply via email to