Redesigned Subroutine Parameter Passing

Redesign the runtime mechanism for passing parameters to subroutines, functions and procedures to accomplish multiple goals:

•   Eliminate the prior hard limit of 128 maximum parameters. The runtime system now has no limit; see below for compiler limits.

•   Reduce memory overhead for typical routines, especially in the case of highly nested functions.

•   Eliminate nearly all cases of internal subroutines that required a specific parameter to be passed as F,6, improving efficiency but especially flexibility (and eliminating a source of bugs for unsuspecting programmers.) Subroutines that previously required F,6 (or in some cases other F,4 or F,8) parameters that now allow any suitable numeric type: ACCEPN, COMMON, FLOCK, RENAME, SLEEP, ANYCN, DSPLY, MMENU, PRINT, RDATE, STENO, BLOCKS, CISAM, INFLD, LAPSED, MX_FINDNEXT, MX_ROUND, MX_USRIO, PRTCHK, SIZE, TCPX, ACCESS, DATES, SERCH, SBRC, BOX1C, DYNLIB.