76. Jumping out of loops, procedures etc. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ As you know, it is very risky to use GOTOs to jump out of FOR-NEXT and REPEAT-UNTIL loops, or out of Functions and Procedures. Sooner or later you will get an error message along the lines of "Too many FORs", or else various odd things will start to happen. However, if your program has error-trapping with ON ERROR GOTO, you may have noticed that it doesn't seem to matter how many times you jump out of whatever the program is doing, to go back to the main menu, nothing untoward happens. Thus, if you could generate an Escape from within the program, you could happily jump out of anything, provided that you didn't jump into the middle of something else. This is possible in various "dirty" ways, such as CALL &9848 (Basic-1), CALL &9838 (Basic-2), and CALL &F9AB (OS 1.20). These are very naughty, as they vary with Basic or Operating System versions, and are not Tube compatible. The tidy way is with *FX153,0,27 and this works very well. *FX153 is very similar to *FX138, which some of you may know, but it accepts the Escape character as an error, and not just as an ASCII code like any other key. When jumping out of Procedures or Functions, the micro will not release LOCAL variables, so they may clash if used in the main body of the program, (ie. with Global variables). This call will not work if you have disabled the Escape key with *FX200 or *FX229, so if you really must do it like that, then CALL &F9AB is the best of the dirty methods.