release-1.7
This release focuses upon improvements to error-handling, and resilience, both as a result of extensive fuzz-testing.
I've successfully run fuzz-testing for 28 hours without a single error now - ignoring "crashes" which were the result of timeouts, due to infinite loops & etc:
2018/12/23 21:57:45 workers: 1, corpus: 456 (1h20m ago),
crashers: 292, restarts: 1/1213, execs: 7742522 (75/sec), cover: 2107, uptime: 28h42m
I don't believe there will be any user-visible changes except for the handling of GOTO/GOSUB statements that pointed to invalid lines. In the past this program would result in an infinite loop:
10 PRINT "Hello, Steve\n"
20 GOTO 2000
This was caused by the "GOTO
" statement looking for line 2000
, not finding it, and jumping to line zero. Now a GOTO
/GOSUB
statement which points to a missing line is a fatal error.