Nesting of sucros When a sucro is running it can call another sucro (say SUCRO2) as a subroutine either by activating it as a Survo command (/SUCRO2) or without any visible signs by certain special codes. If another sucro is activated by a Survo command, the tutstack is lost and replaced by the parameters of the new sucro. Also the reference point (set by REF key) is cancelled. Example: 11 *TUTSAVE S2 / This sucro is used as a subroutine. 12 *{R}Sucro S2 working... 13 *{W1=W1+W2}{end} 14 * 15 *TUTSAVE S1 / This sucro is the main program. 16 / Tutstack will contain 11@22@ : 17 *{init}{del stack}{W1=11}{W2=22}{R}Sucro S1 starts...{R} 18 / After calling S2, tutstack will be 25@11@ : 19 *{erase}/S2 25,{print W1}{act} 20 / The altered contents of W1 is printed: 21 *{R}{print W1}{end} 22 * 23 *If both sucros are saved, activation of /S1 gives: 24 */S1 25 *Sucro S1 starts... 26 *Sucro S2 working... 27 *36_ Another sucro (say SUCRO2) can be called as a subroutine also without any visible traces in the edit field either by the sucro code {call SUCRO2} or {calls SUCRO2} In the first case, the tutstack and the reference point are preserved but in the second case they are lost as in /SUCRO2{act}. By the commands {save stack},{load stack},{save stack <file>}, {load stack <file>} one can restore the original contents of the tutstack after the return from a subsucro. A subsucro can call another subsucro and so on. Maximum number of nested sucros is 5. However, when chaining sucros, there are no limits. C = More information on sucro calls S = More information on sucros in general