

Description:
CREATE_RANGE identifies a piece of text as a range. The first parameter is
the beginning of the range. The second parameter defines the end of the range.
These two parameters must be either a marker or one of the following keywords:
ANCHOR, BUFFER_BEGIN, BUFFER_END, LINE_BEGIN, LINE_END. An optional third
argument is used to provide a visual text attribute to the entire range. This third
argument is a nu/TPU keyword. If the third argument is not provided, the
default value of NONE is used. Note: Some hardware does not support all of the video
attributes available to nu/TPU.
The default action is for CREATE_RANGE to return a linear range consisting of
text from the beginning marker up to the ending marker. If box range is
activated with SET(BOX_RANGE, on), CREATE_RANGE will return a box range variable.
The beginning and ending markers define the upper left corner and lower right
corner of the box text respectfully.
When a range is deleted, only the range structure is removed. The associated
text remains. To remove the text, use the ERASE built-in.
Syntax:
range := CREATE_RANGE ( { marker | keyword }, { marker | keyword } )
range := CREATE_RANGE ( { marker | keyword }, { marker | keyword }, attribute )
Valid attribute values are: NONE, BLINK, BOLD, REVERSE, UNDERLINE, BLACK, BLUE, CYAN, GREEN, MAGENTA, RED,
WHITE, and YELLOW
Examples:
The following takes the text between markers MARK$1 and MARK$2 and defines it
as a range, bright. It then shows the newly created range with the BOLD video
attribute.
BRIGHT$RANGE := CREATE_RANGE (MARK$1, MARK$2, BOLD);
The following example creates a box range variable BOX$RANGE.
TOP$BOX := MARK (NONE);
MOVE_HORIZONTAL (10); MOVE_VERTICAL (5);
BOX$RANGE := CREATE_RANGE (TOP$BOX, MARK (NONE), BLACK);
Errors:
TPU$_BADKEY Wrong keyword.
TPU$_NOTSAMEBUF The first and second markers are in different buffers.
Related Builtins:
CREATE_RANGE