bug-guile
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

bug#10616: flush procedure for soft ports isn't called


From: Ludovic Courtès
Subject: bug#10616: flush procedure for soft ports isn't called
Date: Thu, 08 Mar 2012 14:53:32 +0100
User-agent: Gnus/5.110018 (No Gnus v0.18) Emacs/24.0.93 (gnu/linux)

Hello!

Ian Price <address@hidden> skribis:

>  
> -  if (pt->write_pos > pt->write_buf)
> -    {
> -      /* write the byte. */
> -      scm_call_1 (SCM_SIMPLE_VECTOR_REF (stream, 0),
> -               SCM_MAKE_CHAR (*pt->write_buf));
> -      pt->write_pos = pt->write_buf;
> -  
> -      /* flush the output.  */
> -      {
> -     SCM f = SCM_SIMPLE_VECTOR_REF (stream, 2);
> +  SCM f = SCM_SIMPLE_VECTOR_REF (stream, 2);
> +
> +  if (scm_is_true (f))
> +    scm_call_0 (f);
>  
> -     if (scm_is_true (f))
> -       scm_call_0 (f);
> -      }
> -    }
>  }

It’s a bit late to reply (sorry, Ian!), but the reason it took me so
long, is that I wanted to understand the rationale for the ‘if’, and the
implications of dropping it (which I never got around to, as you can
see.  ;-))

Mark: what’s your take on this?  I’m especially concerned with
undesirable side effects in user code.

Thanks,
Ludo’.





reply via email to

[Prev in Thread] Current Thread [Next in Thread]