Limits and Capacities

Files and Related

For details on ISAM-A files, see ISAM-A Specifications & Features.

Item

Size / limit / capacity / description

Updated in A-Shell build...; old value

Files

none; see ISMA-A File Size Limits.

948 of Dec 05; 2GB

Filenames

72+8 (72 character filename plus 8 character extension).

1662 of June 2019; 10+3

Expanded DO file

~122K

864 of Feb 04; 62K

Random file record size

No limit. Note, however, that this applies to READ and WRITE operations; there is a 2048 byte limit for SERCH.

1246 of Apr 12; 64K

EFS limit of sequential files open at once

512 (or the FILES= spec in the miame.ini, whichever is less).

1244 of Feb 11; 30

Range of file channels

0 to 2^31 -1

 

 

Subroutines

Item

Size / limit / capacity / description

Updated in A-Shell build...; old value

Number of parameters than can be passed to a subroutine, function or procedure

1024

6.5.1628 of February 2018; 128

Size of subroutine name

Six characters for internal SBR names, ten characters for SBX names.

 

Size of a parameter passed in or out of a subroutine

2**24-1 (16,777,215) bytes

 

Number of subroutines on disk or called in a single program

No limit

 

Number of modules that can be loaded into user memory

96 (per job). Subroutines are modules, but unless manually loaded (with LOAD.LIT) they will be auto-loaded, cached, and auto-updated if the SBX on disk gets updated. Auto-loaded modules will be freed to make room for new ones as needed.

854 of Nov 03; 32

AUI: number of controls

No limit. The control table expands as needed.

1166.6.1 of 16 Nov 09; 600

AUI: number of menu items

No limit. The menu table expands as needed.

1166.6.1 of 16 Nov 09; 250

AUI_MENU: length of individual menu item command line

200

 

AUI_MENU: length of individual menu item description

64

1159 of Sep 09; 32

INFLD: length of entry (multi-line field)

No limit

1159 of Sep 09; 16K

INFLD: length of multi-line edit box (|M)

4K

6.5.1671 of Nov 19; 1600

INFLD: SETDEF match length

300

1111 of May 08; 50

INFLD: tooltip characters

1023

5.1.1175, 300

MX_CLIPBOARD: buffer size

No limit

1194 of Nov 10; 3K

MX_GETOFD: fname parameter length

256

1222 of Jul 11; 80

MX_FINDFIRST, MX_FINDNEXT, MX_FINDEND

20: number of directories (or sub-directory levels) open via MX_FINDFIRST for scanning with MX_FINDNEXT without closing via MX_FINDEND

 

MX_PWCRYPT: password length

128

1175 of Feb 10; 24

MX_SHELLEX: parameter length

1024 individual parameter; 4096 for all parameters combined

1202 of Jan 11; 500

PCKLST: rows

32K

 

REGEX: submatches

100

1210 of Mar 11; 20

XTEXT: line length

1998 characters

1253 of June 12; 998

XTREE: columns

200, may be editable or not

1691 of Oct 2020; 100

XTREE: rows

No limit

1159 of Sept 09;

XTREE: number of trees allowed

No limit

old limit = 32

XTREE: tooltip length

1023 characters

1205 of Feb 11

 

Compiler

Item

Size / limit / capacity / description

Updated in A-Shell build...; old value

Length of a single BASIC statement including continuations

16K

6.5.1628 of February 2018; 128; 3K

Nested ++INCLUDEs

38

6.4.1547 of March 2017; 20

Nesting level of SWITCH statements

8

 

Nesting level of TRACE_BEGIN / END blocks

38

6.5.1644 of Aug 2018; 1   

One Time ++INCLUDEs

No limit

5.1.1235 of Oct 11; ~400

Length of a variable or symbol name

260

 

Length of a DEFSTRUCT name

64

 

Number of dimensions (subscripts) in an array

16

 

Number of variables

Without /AV switch, about 6400 (fewer for arrays); with /AV, about 1.6 million

 

Size of RUN module

Without /A switch, calls/gotos limited to about 64K;; with /A switch, about 16 million

 

Size of DATA embedded in RUN

512K

6.5.1657 of March 2019

Number of functions/procedures

No specific limit other than memory available to compiler

 

Number of defines, deftypes

 

DATA statements

1024 bytes

6.5.1721 of November 2022; 512 bytes

 

Other

Item

Size / limit / capacity / description

Updated in A-Shell build...; old value

Ordered map key length

Unlimited

6.5.1716 of May 2022; 511 bytes

Windows printer names

100 characters

5.1.1148 of May 2009; 50

Print filter SBX names

10 characters

6.2.144 of Jan 2016; 6

ATE server side timeout on initial handshake

6 seconds

6.2.144 of Jan 2016; 3

Scrollback buffer

200 lines

6.2.1422 of Jan 2016; 100

Associative array key

511 bytes

6.2.1421 of Nov 2015; 259

QUEUE

65,535

 

DEVICE name

Three or four alphabetic characters, followed by one or two numeric digits, with a maximum length of five combined characters.

 

Device definitions

300 for UNIX, 1000 for Windows

 

Ersatz name

One to ten alphabetic or numeric characters, starting with an alphabetic character, and immediately followed by a colon.

 

Ersatz table auto-refresh

Every 30 seconds

 

Ersatz devices allowed

1000

979 of Jan 06; 400

ERSATZ=fspec length

160

1208 of Mar 11; 70

Printer init file line length

256 characters

987 of Apr 07; 100

Trace message in ashlog.log, length

2000

 

Trace.print statement, length

16K

1639 of July 2018; 800

Ashlog.log maximum filesize

10MB; new file with extension .01, .02, etc. will be created when maximum filesize  is reached

1662 of June 2019; 3MB for Win, 5MB for UNIX

Command line length

300 characters

916 of Feb 05; 200

Number of GUI objects that can be defined at any one time

No limit

1166 of Nov 09; 250

Number of modules that can be loaded into user memory

128 (per job). Note that subroutines are modules.

6.5.1679 of April 2020; 96

Input CSV line length

No limit

995 of Sep 07; 4K

INPUT statement, all forms

No limit

uncertain; 4K

Windows printer name

100 characters

1148 of May 09; 50

Command line history buffer

25 lines

1168 of Dec 09; 10

VUE line length

There is effectively no limit. When opening a file, VUE reads the longest line in the file and to that number adds 8K.

6.5.1631 of February 2018, VUE edit 371; previously VUE looked only at the first 100 lines, and then added 1K, with an overall minimum limit of 4K.

Dynamically-Sized Variables

No limit

 

HOST.LIT response capture buffer

256

2.0(105) of Aug 11; 64K

PAD$(expr,len) return expression length

4096

1175 of Feb 10; 257

TAB(col) columns

4095

1105 of Feb 08; 472

Buffer to expand strings containing %env% variables.

No limit

512 bytes; 6.0.1263 of Oct 12

Nested function/procedure calls

Set limit of 99 as a way of reducing the likelihood and severity of problems caused by accidental infinite recursion.

Unlimited; 6.1. 1387 of July 2014

Length of individual GDI print directives

No limit

512 bytes; 6.5.1664 of August 2019