I wrote:
>Here is another irritating one...  the ON ERROR handling is absolutely
>APPALLING!

Well fortunately I've sorted that one out rather quickly.

 1. The difference between "GO TO 80" and "fred" is that "fred" is an
    instruction which calls a procedure and then terminates, whereas "GO
    TO 80" is an instruction which alters some system variables and then
    terminates (after that, the system interprets the system variables and
    goes to 80).  In other words, there is a breakpoint between "GO TO 80"
    and line 80 but no breakpoint between "fred" and the first instruction
    of fred.

    ON ERROR GOTO 80 is useless for trapping Escape because when you press
    Escape an error occurs, it executes GO TO 80, and then even before it
    has thought about actually going to line 80 it reads the Escape key
    again and breaks in.

    ON ERROR fred is quite useful, however, because the first instruction of
    fred can disable the Escape key before the system gets another chance to
    read it.

 2. When the ROM searches for the ON ERROR instruction after an error
    has occurred, it forgets to save the page number in CHADP.  After
    that it seems that something somewhere is selecting page CHADP and
    thus blasting the ON ERROR statement away.  Fortunately this can be
    fixed by installing a simple routine in CMDV which saves the current
    page in CHADP (at least I think so - I haven't noticed anything going
    wrong so far).

imc

Reply via email to