Ticket #500 (closed defect: fixed)
infinite loop in repl after lexical error
| Reported by: | will | Owned by: | |
|---|---|---|---|
| Priority: | major | Milestone: | Larceny 0.96 |
| Component: | library | Version: | all |
| Keywords: | Cc: |
Description
This bug was reported by Jed Davis.
If a control character (other than the usual CR/LF/HT/&c.) is entered into the REPL, for example because I accidentally hit an arrow key or control-P or some such, the result is an infinite loop of this:
Error: get-datum: Lexical Error: Incomplete or illegal token: INPUT PORT *console-input*> Computation is not continuable. debug> Error: get-datum: Lexical Error: Incomplete or illegal token: INPUT PORT *console-input*> Computation is not continuable. debug> Error: get-datum: Lexical Error: Incomplete or illegal token: INPUT PORT *console-input*> Computation is not continuable. debug>
which needs a SIGQUIT to terminate (i.e., SIGINT does nothing).
It would be more helpful to consume the offending character before complaining of it, to ensure a finite number of errors on finite input.
Change History
Note: See
TracTickets for help on using
tickets.
