root wrote:
> Apparently the ptys are opened in raw mode and do not interpret the
> control characters but pass them down the pipe to AXIOMsys. However
> the (read) from axiom simply gets the cntrl-D and tries to parse it.
>
> I'm not really sure how this should be handled. Clearly you don't
> want sman to open up a pty that interprets control characters.
> Nor do you want lisp's (read) to interpret control characters.
>
It is not the case. One thing is a bug in sman: when the user
presses ^D\n sman passes "(1) ->\n" (more precisly AXIOMsys
reads what is inside quotes). AXIOMsys reacts with an error
message (exactly like if user gave this input). Funny things
happen later: AXIOMsys sits in select loop and gets interrupt
(^C\n) _is_ converted to interrupt. After return from the
interrupt select is called again and returns ready on file
descriptor 0. AXIOMsys then executes READ-LINE(CURINSTREAM)
which performs _no_ IO. My speculation is it that interrupt messed
something with CURINSTREAM.
All this is based on system trace. AFAICS when AXIOMsys runs
standalone there is no select loop. I tried to give "(1) ->\n"
and then ^C to standalone AXIOMsys -- the trace looks quite similar
but AXIOMsys produces reasonable error messages. Still, giving a
few bad inputs interspesed with ^C, I was able to generate:
>> System error:
Caught fatal error [memory may be damaged]
so interrupt handling in GCL probably has some problems.
--
Waldek Hebisch
[EMAIL PROTECTED]
_______________________________________________
Axiom-developer mailing list
[email protected]
http://lists.nongnu.org/mailman/listinfo/axiom-developer