INMEMO enhancement: new flag MMO_RAW (&h80000000) may be combined with MMO_UWE (update without edit) to save the string contents of the TEXT parameter in a raw state, and with MMO_OTX (output to text) to retrieve the raw data into the TEXT parameter. In this mode, there is no formatting: no line breaking, no special interpretation of space compression, invisible headers, etc. Nor does it pay any attention to the coordinates or VSPEC specification.
The new raw mode is mainly intended to allow applications to tap into the variable-length storage capabilities of INMEMO, independent of the memo display and editing capabilities. In particular, it could be useful as a storage system for XTEXT.
Examples
! save TEXT$ (any length) raw to file TEST.MMO, return LINK
xcall INMEMO, MMO_UWE+MMO_RAW+MMO_SIL, TEXT$, "TEST.MMO", 0, 0, 0, 0, link, XPOS, VSPEC, MMOCLR, EXTCTL
! retrieve memo from LINK into TEXT$
xcall INMEMO, MMO_OTX+MMO_RAW+MMO_SIL, TEXT$, "TEST.MMO", 0, 0, 0, 0, LINK, XPOS, VSPEC, MMOCLR, EXTCTL
Note that the string retrieved from the file will be truncated to fit the TEXT$ destination variable. If using a dynamic string (S,0), you must pre-initialize it to a suitable max size, e.g. TEXT$ = FILL$(" ",MAX_MEMO).
See updated MMOSYM.DEF and MMOSYM.BSI for the new flag definition. Also see new sample program XTXMMO2 in [908,40] which demos the new feature in conjunction with XTEXT.