cat:dstrings — ordinary primitive



CAT ($: a$ -- )();


Append the string body to the end of the string currently being concatenated as the last string in the string buffer, and update its count field. If there is no concatenating string, start one. An error is thrown if the size of the combined string would be larger than MAX_MCOUNT or if there is not enough room in string space even after a garbage collection.

If garbage collection occurs, a$ remains valid even when it is in the string buffer.


When there is a concatenating string, concatenation is the only basic string operation that can copy a string into the string buffer. <ansref>"cat"</ansref>

NOTE: It is left to the user to define special concatenating words like:

    : \n-cat  ( -- )  \n$ cat ;