I've been travelling, so I haven't been able to answer
these mails until now.
Ralph Corderoy <ralph(a)inputplus.co.uk> wrote:
I can see an avalanche of errors in an earlier gawk
caused problems, but
each time there would have been a first patch of the input which made
a mistake causing the pebble to start rolling. My understanding is that
there was potentially a lot of these and rather than fix them it was
more productive of the limited time to stop patching the input. Then
the code which patched could be deleted, getting rid of the buggy bits
along the way?
That's not the case. Gawk didn't try to patch the input. It
simply set a flag saying "don't try to run" but kept on parsing
anyway, in the hope of finding more errors.
That was a bad idea, because the representation of the program
being built was then not in the correct state to have more
stuff parsed and converted into byte code.
Very early on, the first parse error caused an exit. I changed
it to keep going to try to be helpful. But when that became a source
for essentially specious bug reports and a time sink for me, it
became time to go back to exiting on the first problem.
HTH,
Arnold