<br><br><div class="gmail_quote">On Fri, Oct 2, 2009 at 9:21 AM, Eric Swenson <span dir="ltr">&lt;<a href="mailto:eric@swenson.org">eric@swenson.org</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex;">
Hello Chongkai,<div><br></div><div>Thanks for your suggestions.  I tried this, but it didn&#39;t work.  In the case where (read-line) is returning &quot;\r&quot;, I note that read-bytes-avail!* is returning 0, yet a subsequent read-line still returns &quot;\r&quot;.  (I tried your example code exactly, and my-read-line returns &quot;\r&quot; as well.)  I wonder if this is a Win32 issue (line-ending issue) where some of the win32-specific support is not stripping the &quot;\r&quot; from the end-of-line sequence &quot;\n\r&quot;?  </div>

<div><br></div><div>Update: I tried this out on linux and your solution works fine.  But on Win32, it doesn&#39;t.  It would appear that some code doesn&#39;t know how to strip both the \n\r from the &quot;text-mode&quot; console.  Any suggestions?</div>

<div><br></div><div><font color="#888888">-- Eric</font><div><div></div><div class="h5"><br><br><div class="gmail_quote">On Thu, Oct 1, 2009 at 8:23 PM, Chongkai Zhu <span dir="ltr">&lt;<a href="mailto:czhu@cs.utah.edu" target="_blank">czhu@cs.utah.edu</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
(define flush-input<br>
 (let ([buf (make-bytes 64)])<br>
   (lambda ()<br>
     (do ()<br>
       ((zero? (read-bytes-avail!* buf)))))))<br>
<br>
(define (my-read-line)<br>
 (begin (flush-input) (read-line)))<br>
<br>
Chongkai<br>
<br>
Eric Swenson wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div>
How do you get around this, then?  -- Eric<br>
<br></div><div><div></div><div>
On Thu, Oct 1, 2009 at 7:09 PM, Chongkai Zhu &lt;<a href="mailto:czhu@cs.utah.edu" target="_blank">czhu@cs.utah.edu</a> &lt;mailto:<a href="mailto:czhu@cs.utah.edu" target="_blank">czhu@cs.utah.edu</a>&gt;&gt; wrote:<br>


<br>
    This happens because the REPL will read one expression, so the newline<br>
    that follows it is still in the input buffer.<br>
<br>
<br>
<br>
<br>
    eswenson wrote:<br>
<br>
        Invoking (read-line) in DrScheme behaves as I would expect -- it<br>
        doesn&#39;t return until a newline is read.  However, invoking<br>
        (read-line)<br>
        in MzScheme (on Win7) return &quot;\r&quot; immediately without waiting<br>
        for any<br>
        input.  I&#39;ve tried this before and after loading the GNU readline<br>
        support with no change in behavior.  I have verified that the<br>
        current<br>
        port is a terminal port in the interactive session and I&#39;ve tried<br>
        starting MzScheme with and without &quot;-i&quot;.  Thanks.<br>
<br>
        -- Eric<br>
        _________________________________________________<br>
         For list-related administrative tasks:<br>
         <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
         <br>
<br>
    _________________________________________________<br>
     For list-related administrative tasks:<br>
     <a href="http://list.cs.brown.edu/mailman/listinfo/plt-scheme" target="_blank">http://list.cs.brown.edu/mailman/listinfo/plt-scheme</a><br>
<br>
<br>
</div></div></blockquote>
<br>
</blockquote></div><br></div></div></div>
</blockquote></div><br>