On 27 Feb 2012, at 16:17, Michael Bulford wrote:

> I
> have been having a look at the Turbo Parser, and have noticed an error 
> in the first few lines of the code.  In the call to "Init_Names" 
> if there are too many structs then "Complain" is called.  "Complain" 
> will RETRY, however at this stage no RETRY_HERE has been encountered, 
> and so the only place where it can retry is at the start.  And so an 
> infinite loop is created.  Each time around this loop "COMPILATION 
> ABORTED" will be written to the log file.  I hope you don't mind me 
> bringing this to your attention, this is only a very minor bug – it 
> would not happen very often.

There is a RETRY_HERE when Init_Names is called. It is at the start of every 
program compiled by Turbo v4.11 and after. However, this would indeed lead to 
an infinite loop.

My suggested correction is:

10250 IF NOT _quit: Set_Links : Dialogue
10254 erased

(In Init_Names)

11508 RETRY_HERE
11509 IF _quit : RETurn

George
_______________________________________________
QL-Users Mailing List
http://www.q-v-d.demon.co.uk/smsqe.htm

Reply via email to