previous next top contents index framed top this page unframed
Figure 42–3. $newArea
| POINTER($area) PROCEDURE $newArea (STRING title; OPTIONAL LONG BITS attr; loStrSpcChars,hiStrSpcChars, initialPreallocatedSpace, incrementalPreallocatedSpace); |
$newArea returns a POINTER to a new area. As described in Chapter 25, title is the area's title, and attr the area's attributes; valid attr bits are:
| attr Bit | Description |
|---|---|
| $collectableChkSpc | collect area's dynamic objects |
| $compactableChkSpc | compact area's dynamic objects |
| $collectableStrSpc | collect area's STRING text |
| $noCollectablePtrs | this area contains no POINTERs into $collectableChkSpc areas |
| $noCompactablePtrs | this area contains no POINTERs into $compactableChkSpc areas |
| $noCollectableStrs | this area contains no STRING descriptors into $collectableStrSpc areas |
| $anchored | anchor area (see Section 25.4) |
If attr is not specified, the default is that collections and compactions do not occur in the allocated area.
loStrSpcChars specifies the size in characters of STRING space to allocate (if STRING space is needed); it should be specified only if an unusually small amount of STRING space (on the order of 2000 characters or less) is expected to be required (specifying a large loStrSpcChars if a lot of STRING space is needed has undesirable effects; it is better to take the default in this case). Extra STRING space is allocated as needed, so loStrSpcChars need not be exact.
Currently, you should always set hiStrSpcChars to 0L.
incrementalPreallocatedSpace preallocates space for an area, as described in Section 25.4.4. It is useful to set only for an anchored area.
If you wish to change the memory management attributes of an area after it has been created, call $changeAreaParms.
MAINSAIL Language Manual, Section 42.2