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.

_______________________________________________
Cmdist mailing list
[email protected]
https://cm-mail.stanford.edu/mailman/listinfo/cmdist

Reply via email to