Hi Neil, "Neil Jerram" <[EMAIL PROTECTED]> writes:
> 2008/11/20 Ludovic Courtès <[EMAIL PROTECTED]>: >> >> In theory, yes. In practice, the notion of "unbuffered port" is >> ill-defined, I'm afraid. The `SCM_BUF0' flag probably can't be relied >> on, as it appears to be only really used on `fports.c'. Actually, for >> some reason (probably copy & paste), make_cbip() creates ports with >> "SCM_OPN | SCM_RDNG | SCM_BUF0", although `SCM_BUF0' is probably not >> needed. So I think "unbuffered port" means "read_buf_size <= 1". > > That's what I was thinking too. Please see the attached. Thanks for the quick fix! I confirm it works with CBIPs in Guile-R6RS-Libs, but I had to make this small change: http://repo.or.cz/w/guile-r6rs-libs.git?a=commitdiff;h=dfab2fe21f82bc40cfdf9a3a3eeb6936d5935c8c IOW, with Guile up to 1.8.5, it was harmless to leave `read_buf_size' uninitialized (actually, zeroed), which was OK since CBIPs don't use it, but the change in `scm_c_read ()' makes it necessary to initialize it. It's probably a reasonable expectation, though. Please commit! Thanks, Ludo'.