I can't really help with the other questions, but yes, I expect it is the
newline after the require. Read doesn't read past that matching paren:

Welcome to Racket v5.3.3.1.
> (define p (open-input-string "()\n"))
> (read p)
'()
> (peek-char p)
#\newline



On Fri, Feb 8, 2013 at 11:09 PM, Danny Yoo <d...@hashcollision.org> wrote:

> >
> > However, when I try using this in the larger context of xrepl, I've
> > found that I've completely broken it.
> >
> > #######
> > $ ~/local/racket/bin/racket
> > Welcome to Racket v5.3.3.1.
> >> (require xrepl)
> > -> hello
> > -> world
> > -> help
> > #######
>
>
>
> There's something funny with buffered input going on.  If I do the
> following interaction on my pr-13350 branch, then the results are much
> better:
>
> #################################
> 128-110-82-95:readline dyoo$ ~/local/racket/bin/racket
> Welcome to Racket v5.3.3.1.
> > (file-stream-buffer-mode (current-input-port) 'none)
> > (require xrepl)
> ->
>    1
> 1
> -> 2
> 2
> -> 3
> 3
> #################################
>
>
> So part of the problem I'm running into seems related to how Racket is
> block-buffering the standard input port.  This probably messes with
> readline, which needs to look at the raw stdin object to make sense of
> it.
>
> I'm still very confused!  How do FFI-wrapped C functions deal with
> standard input?  Does that mean that they normally need to access
> stdin via Racket itself, since the port is probably eating blocks of
> stdin already?
>
>
>
> There are still a few oddities.
>
> * It's off by a little because of the extra newline, which I don't
> understand yet.  Is that the newline right after the "(require xrepl)"
> that hasn't been consumed yet?
>
> * If I try to set file-stream-buffer-mode within an xrepl module, I
> see no benefit yet.  I seem to have to do this at the REPL, before
> loading xrepl.  Very confused... :(
> _________________________
>   Racket Developers list:
>   http://lists.racket-lang.org/dev
>
_________________________
  Racket Developers list:
  http://lists.racket-lang.org/dev

Reply via email to