[CM] extending the reader?
bil at ccrma.Stanford.EDU
bil at ccrma.Stanford.EDU
Fri Oct 8 07:27:15 PDT 2021
I can't think of a way to do this in scheme code.
*read-error-hook* is not currently called at the
point of the error (probably line 69449 in s7.c).
I suppose it could be called, but I'd need to back
out with the new input (if any), which would take
a ton of testing. You could change the C code,
perhaps --
{
s7_pointer pt;
pt = current_input_port(sc);
fprintf(stderr, "%c\n", port_data(pt)[port_position(pt) - 2]);
}
at that pointer prints ".", so you know it's reading
".)". You'd need to add the symbol ./ to the current
list in the reader, then pop back to whatever was
being read before that -- kinda tricky!
I'll look into extending *read-error-hook*, but with
input like that, there are probably more such gotchas.
More information about the Cmdist
mailing list