[Openmcl-devel] Two streams questions
Ron Garret
ron at flownet.com
Fri Jul 29 17:41:22 PDT 2016
Just what I needed. Works like a charm. Thanks!
On Jul 29, 2016, at 5:24 PM, Gary Byers <gb at clozure.com> wrote:
> See "ccl:library;serial-streams.lisp"; streams created via MAKE-SERIAL-STREAM as defined in that file are bivalent and INTERACTIVE-STREAM-P should be true of them.
>
>
>
> On 07/29/2016 05:43 PM, Ron Garret wrote:
>>
>> On Jul 29, 2016, at 3:42 PM, Gary Byers <gb at clozure.com> wrote:
>>
>>> I have not tried this, looked at the code, or thought about this much,
>>>
>>> Does
>>>
>>> (defun read-byte-no-hang (s)
>>> (when (listen s)
>>> (read-byte s)))
>>>
>>> work ?
>>
>> Unfortunately, no. CLHS specifically says:
>>
>> "On a non-interactive input-stream, listen returns true except when at end of file[1]”
>>
>> (IMHO this is a bug in the spec.)
>>
>>> Note also that a terminal device may be in one of a few "modes: (raw, cooked, cbreak) some of which may do line bufferimg (aka "rubout handling") inside the tty driver.
>>
>> Yes, this one is in raw mode. I’ve been able to get this to work by using a character stream with a latin-1 encoding and read-char-no-hang, but that’s a horrible hack.
>>
>> rg
>>
More information about the Openmcl-devel
mailing list